Java TreeSet - no elimine elementos duplicados

Un conjunto por definición no puede tener entradas duplicadas.

Por lo tanto, debe usar una lista o matriz o tal

Respuesta 1

Incluso es un conjunto, esto sigue siendo confuso porque los objetos son diferentes. Por ejemplo, uno Set<E>de los diferentes objetos Edejará caer algunos objetos cuando se convierta en un TreeSet<E>basado en el Comparator<E>usado. En ambos casos, es un conjunto, pero el conjunto de elementos almacenados será diferente. En mi opinión, esto no se aclara bien en los documentos.

Una solución simple, si puede cambiar el Comparador, deje que no devuelva 0. Por ejemplo, en lugar de:

public int compare(Integer o1, Integer o2) {
    return o1.compareTo(o2);
}

Utilizar:

public int compare(Integer o1, Integer o2) {
    return o1 < o2 ? -1: 1;
}
Respuesta: 2

Un propósito principal de a Setes no tener duplicados. O no quieres un Seto necesitas un diferente Comparator.

Respuesta: 3

Una cita de Javadoc para Set:

Una colección que no contiene elementos duplicados.

Use cualquier derivado de Lista .

Respuesta: 4

¿Cómo se convierte una cadena RTF en texto sin formato en Java? La respuesta obvia es usar el RTFEditorKit de Swing, y esa parece ser la respuesta común en Internet. Sin embargo, el método de escritura que ...

Estoy tratando de agregar una matriz entera en Set de la siguiente manera, int [] arr = {2, 6, 4, 2, 3, 3, 1, 7}; Set <Integer> set = new HashSet <Integer> (Arrays.asList (arr)); Estoy recibiendo un error ...

Acabo de comenzar a usar el selenio webdriver para crear pruebas para sitios web que completan formularios haciendo clic en botones, etc. ¿Para qué más se puede usar Selenium? ¿Es este el propósito principal para ...

Estaba jugando con JavaScript y me quedé atascado con un programa simple. Declaré una matriz en JavaScript como var a = [0, 1, 2]; Entonces, como no hay un tamaño fijo para una matriz en JavaScript ...