Interfaz: rojo; Clase de implementación: fuente negra
1. Colección de colección
Recopilación
| _____ set (hashset)
| | _____ Sortedset (Treeset)
| _____ Lista (ArrayList, LinkedList, Vector)
Colección : la interfaz raíz en el nivel de colección. JDK no proporciona una clase de implementación para esta interfaz.
Lista : Ordenly (en el orden de colocación), se puede repetir y tiene subíndices.
Conjunto : desordenado, no repetible, sin subíndice.
SortedSet : es una subinterfaz de la interfaz SET. Se ordenan los elementos en el conjunto de clases (en orden ascendente en alfabética).
A través del método comparable de la interfaz comparable, los elementos se implementan de manera ordenada. Todos los elementos colocados deben implementar la interfaz comparable (o ser aceptado por el comparador especificado).
Diferencias entre las clases de implementación de la interfaz de la lista :
ArrayList : es esencialmente una matriz. Los hilos no son seguros. La consulta (get/set) es rápida, agregar/eliminar (agregar/eliminar) es lento.
LinkedList : esencialmente una lista vinculada de dos vías. Los hilos no son seguros. La consulta (get/set) es lenta, agregar/eliminar es rápido.
Vector : es casi exactamente lo mismo que ArrayList. La única diferencia es que el vector está sincronizado y es seguro de hilo.
2. Colección de mapas
Mapa (hashmap, hashtable)
| _____ SortedMap (Treemap)
Mapa : almacena un par de valor clave, que no puede contener claves duplicadas y puede tener valores duplicados.
SortedMap : la subinterfaz del mapa SortedMap es un mapa que organiza claves en orden ascendente.
La diferencia entre hashmap , hashtable y treemap
Hashmap : los hilos no son seguros. Tanto la clave como el valor pueden ser nulos. Los elementos están desordenados. La capa subyacente es la estructura de datos de tabla hash.
Hashtable : Safe. Ni la clave ni el valor pueden ser nulos. Los elementos están desordenados. La capa subyacente es la estructura de datos de tabla hash.
Treemap : los hilos no son seguros. Ni la clave ni el valor pueden ser nulos. Se ordenan los elementos (en orden alfabético ascendente). La capa subyacente es la estructura de datos del árbol binario.
3. Cómo implementar la clave y establecer valores del mapa sin duplicación
El mapa pone la misma clave y luego cubre la anterior
Mapa map = nuevo hashmap ();
map.put ("nombre", "zhang san");
map.put ("nombre", "wangwu"); ------- Efectivo, sobrescribir el anterior
Cuando el set se pone el mismo elemento, el primero es válido y el siguiente no se pondrá en
Set set = new Hashset ();
set.add ("111"); --- Efectivo
set.add ("222"); ---- juzga que ya ha existido y que no será puesto en
1. Hashmap Put y Hashset Add
Debido a que el método de Hashset Add () en realidad se convierte en llamado al método de HashMap Put () para agregar pares de valor clave al agregar un elemento de recolección. El método put () de las primeras llamadas de hashmap .hashcode () para determinar que el valor de retorno es igual. Si el valor de retorno es igual, entonces devuelve verdadero a través de la comparación igual. Finalmente, se cree que el objeto clave es igual y ya existe en el hashmap.
2. Treemap Put y TreeSet Add
Cuando se llama al método Put en Treemap para agregar un valor clave, el método CompareTo (o Compare) del objeto se llama a comparar todas las teclas. Si este método devuelve 0, las dos teclas se consideran iguales.
Al agregar un elemento en TreeSet, llame al método de comparación o compare para ubicar la posición del elemento, es decir, devuelva comparación o compare para devolver 0, que se considera la misma posición, es decir, el mismo elemento