El kit de herramientas de recolección de Java se encuentra debajo del paquete Java.util y contiene muchas estructuras de datos de uso común, como matrices, listas vinculadas, pilas, colas, colecciones, tablas hash, etc. en el marco de las colecciones de Java de aprendizaje, se puede dividir aproximadamente en las siguientes cinco partes: Lista de listas de colección, mapa, mapa, iterator (Iterator, Enumeration) y Tools Classes (Arrays, Arrays, Arrays, Arrays, Arrays, Arrays.
Como se puede ver en la figura anterior, las clases de colección se dividen principalmente en dos categorías: colección y mapa.
La colección es una interfaz muy abstracta para colecciones como List and Set. Contiene las operaciones básicas de estas colecciones. Se divide principalmente en dos partes: lista y conjunto.
La interfaz de la lista generalmente representa una lista (matriz, cola, lista vinculada, pila, etc.), y los elementos en ella pueden repetirse. Las clases de implementación comunes son ArrayList y LinkedList, y también hay vectores que no se usan comúnmente. Además, LinkedList todavía implementa la interfaz de la cola, por lo que también se puede usar como una cola.
La interfaz establecida generalmente representa una colección en la que no se permite repetir los elementos (garantizados por hashcode e igual a las funciones). Las clases de implementación comúnmente utilizadas incluyen Hashset y Treeset. Hashset se implementa a través de HashMap en MAP, y TreeSet se implementa a través de Treemap en MAP. Además, TreeSet también implementa la interfaz SortedSet, por lo que es un conjunto ordenado (los elementos en el conjunto deben implementar la interfaz comparable y sobrescribir la función compartor).
Vemos que las clases abstractas AbstractCollection, AbstractList y AbstractSet implementan las interfaces de recopilación, lista y establecer respectivamente. Estos son los muchos patrones de diseño del adaptador utilizados en el marco de colección Java. Estas clases abstractas se utilizan para implementar interfaces e implementar varios o todos los métodos en la interfaz en la clase abstracta. De esta manera, algunas de las siguientes clases solo necesitan heredar directamente la clase abstracta e implementar los métodos que necesitan, sin implementar todos los métodos abstractos en la interfaz.
MAP es una interfaz de mapeo, y cada elemento en él es un par de clave de valor clave. Del mismo modo, la clase abstracta AbstractMap implementa la mayoría de las funciones en la interfaz MAP a través del modo adaptador. Treemap, Hashmap, Weakhashmap y otras clases de implementación se implementan heredando AbstractMap. Además, la hashtable de uso poco común implementa directamente la interfaz del mapa, y la TI y el vector son clases de recolección introducidas en JDK1.0.
El iterador es un iterador que atraviesa colecciones (no se puede atravesar el mapa, solo se usa para atravesar las colecciones). Las clases de implementación de la colección implementan la función Iterator (), que devuelve un objeto Iterator a las colecciones transversales, y ListIterator se usa específicamente para atravesar las listas. La enumeración se introdujo en JDK 1.0 y tiene la misma función que el iterador, pero sus funciones son menos que el iterador, y solo se puede usar en hashtable, vector y pila.
Las matrices y colecciones son dos clases de herramientas utilizadas para manipular matrices y colecciones. Por ejemplo, el método Arrays.CopyOf () se llama en grandes cantidades en ArrayList y Vector. Hay muchos métodos estáticos en colecciones que pueden devolver la versión sincronizada de cada clase de colección, es decir, la versión segura de hilo. Por supuesto, si desea utilizar una clase de combinación segura de hilo, se prefiere la clase de recolección correspondiente bajo el paquete concurrente concurrente.
El análisis completo anterior del código fuente de la colección Java es todo el contenido compartido por el editor. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.