Red de conocimiento informático - Aprendizaje de programación - ¿Por qué se permite almacenar elementos vacíos en Java List y HashSet, pero no en TreeSet?

¿Por qué se permite almacenar elementos vacíos en Java List y HashSet, pero no en TreeSet?

1 Colección de lista: el objeto comparado anula el método igual () y llama al método contiene () en la Lista, es decir, utiliza el método igual () para comparar.

Colección de lista (se permiten elementos duplicados, se permite nulo)

2 colección HashSet (no se permiten elementos duplicados, se permite nulo): el objeto comparado anula el método hashCode() y anula el método igual (), ambos deben reescribirse.

Colección 3 TreeSet. (No se permite la duplicación de elementos):

Método 1: el objeto comparado (como la clase de estudiante) implementa la interfaz Comparable y anula el método CompareTo(). --(Nulo no está permitido)

Método 2: constructor TreeSet, pasa la clase de implementación de la interfaz Comparator, que anula el método compare(). -- (se permite estar vacío)

4 Colección HashMap: Igual que HashSet.

5 Colección TreeMap: Igual que TreeSet.

6 Por cierto, puedes ordenar una Lista usando el método sort() de la clase de colección. Se utiliza la interfaz Comparable o Comparator.

============================================ === ================

Lista: lista de matrices, vector, lista vinculada, donde el vector está sincronizado con subprocesos, la lista vinculada se inserta y elimina

Básicamente la lista se basa en una matriz; los elementos internos se pueden repetir;

conjunto: hashset, treeset no se puede repetir, el conjunto se basa en el mapa; >listar y configurar heredan de la interfaz de Colección, el mapa no

listar y configurar. el mapa no es

mapa: hashtable, hashmap, treemap; la tabla hash está sincronizada con subprocesos, las claves del mapa no se pueden repetir y sus valores se pueden repetir.

Además; , si no lo hago, si no recuerdo mal, la lista, el conjunto y el mapa se pueden usar con collections.sort().