¿Existe un orden de inserción que conserve Set que también implemente List?

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.Listjava.util.SetSetList

Es importante tenerlo para poder insertarlo en una posición específica.List<T>#add(int, T)

Respuestas:7 Respuestas 7
Tiempo:hace 10 años, 9 meses
Última modificación:hace 3 años, 3 meses

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 🙂ListSet

Deja un comentario