Estoy tratando de encontrar una implementación de y al mismo tiempo en Java. Quiero que esta clase permita solo elementos únicos (como ) y conserve su orden (como ). ¿Existe en JDK 6?java.util.List
java.util.Set
Set
List
Es importante tenerlo para poder insertarlo en una posición específica.List<T>#add(int, T)
Solución
TreeSet
se ordena por orden de elementos; LinkedHashSet
conserva el orden de inserción. Esperemos que uno de esos sea lo que buscabas.
Ha especificado que desea poder insertar en una ubicación arbitraria, sospecho que tendrá que escribir la suya propia, simplemente cree una clase que contenga a y un ; al agregar un elemento, verifique si está o no en el conjunto antes de agregarlo a la lista.HashSet<T>
ArrayList<T>
Alternativamente, commons-collections4 de Apache ofrece ListOrderedSet
y SetUniqueList
, que se comportan de manera similar y deben cumplir con los requisitos dados.
Otras respuestas
Si no se limita a JDK 6, puede usar la biblioteca de colecciones comunes de Apache que ofrece la coincidencia exacta para su necesidad: ListOrderedSet. Es como y combinado 🙂List
Set