Interfaz de colección: la colección es la interfaz de colección más básica, que declara métodos comunes adecuados para colecciones Java (incluidas solo establecidas y listas). Establecer y enumerar tanto heredar la conexión como el mapa
Métodos de interfaz de recolección:
boolean add (objeto o): agregue una referencia a un objeto a la colección
void clear (): elimine todos los objetos de la colección, es decir, ya no tiene referencias a estos objetos
boolean isEtimty (): determina si el conjunto está vacío
boolean contiene (objeto o): determina si se mantiene una referencia a un objeto específico en la colección
Iterar Iterator (): Devuelve un objeto Iterator que se puede usar para iterar sobre elementos en una colección
boolean eliminar (objeto o): elimina una referencia a un objeto de la colección
int size (): devuelve el número de elementos en la colección
Objeto [] toArray (): Devuelve una matriz que contiene todos los elementos en la colección
Acerca de: los métodos Iterator () y ToArray () se utilizan para todos los elementos de una colección. El primero devuelve un objeto iterador, y el segundo devuelve una matriz que contiene todos los elementos en la colección.
La interfaz iteradora declara los siguientes métodos:
HasNext (): determina si los elementos de la colección han sido atravesados. Si no, devuelve verdadero
Siguiente (): Devuelve el siguiente elemento
remove (): Elimine el elemento anterior devuelto por el método Next () de la colección.
SET (SET): SET es el tipo de colección más simple. Los objetos en la colección no se clasifican de manera específica, y no hay objetos duplicados. La interfaz establecida implementa principalmente dos clases de implementación:
Hashset: la clase hashset utiliza el algoritmo hash para acceder a objetos en la colección, y la velocidad de acceso es relativamente rápida.
TreeSet: la clase TreeSet implementa la interfaz SortedSet, que puede ordenar objetos en la colección.
Uso de set: almacena referencias a objetos, sin objetos duplicados
Set set = new HashSet (); String S1 = new String ("Hello"); String S2 = S1; String S3 = New String ("World"); set.add (S1); set.add (s2); set.add (s3); System.out.println (set.size ()); // El número de objetos en la colección de impresiones es 2.
¿Cómo determina el método ADD () de Set si el objeto se ha almacenado en la colección?
boolean isExist = false; iterator iterator = set.iterator (); while (it.hasnext ()) {string oldstr = it.next (); if (newstr.equals (oldStr)) {isExists = true;}}Lista: La característica de una lista es que sus elementos se almacenan de manera lineal, y los objetos duplicados se pueden almacenar en la colección.
Las principales clases de implementación de la interfaz de lista incluyen:
ArrayList (): representa que la longitud se puede cambiar a una matriz. Se puede acceder a elementos al azar, y la velocidad de insertar y eliminar elementos en ArrayList () es lenta.
LinkedList (): utiliza una estructura de datos de lista vinculada en la implementación. Inserción y eliminación rápida, acceso lento.
Para el acceso aleatorio de la lista, es solo recuperar aleatoriamente elementos ubicados en una ubicación específica. El método de lista Get (int) se vuelve a colocar en el objeto en la colección en la posición del índice especificada por el índice de parámetros, y el subíndice comienza desde "0". Las dos formas más básicas de recuperar todos los objetos en una colección:
1: para el método bucle y get ():
for (int i = 0; i <list.size (); i ++) {system.out.println (list.get (i));}2: Use iterador:
Iterator it = list.iterator (); while (it.hashnext) {system.out.println (it.next);}
MAP: MAP es una colección de objetos clave de mapa y objetos de valor. Cada elemento contiene un par de objetos clave y objetos de valor.
Cuando no se hereda un mapa de la interfaz de colección, siempre que se proporcione un objeto clave, se devolverá el objeto de valor correspondiente.
Métodos comunes para el mapa:
1 Agregar y eliminar operaciones:
Objeto Put (clave de objeto, valor de objeto): agregue elementos a la colección
Object Remete (clave de objeto): elimina elementos relacionados con la clave
void putall (mapa t): agrega todos los elementos de una imagen específica a la imagen
nulo transparente (): elimine todos los mapas de la imagen
2 Operaciones de consulta:
Object get (clave de objeto): obtenga el valor relacionado con la tecla de palabra clave. Los objetos clave en la colección de mapas no pueden repetirse, es decir, el resultado de dos objetos clave que se comparan con el método Equals () es falso. Sin embargo, cualquier múltiple claves se puede asignar exclusivamente al mismo objeto de valor.
Conexiones: Clase de utilidad de colección. Las conexiones proporcionan métodos estáticos prácticos para las colecciones de Java
Resumir:
Se ha resumido el uso básico de las colecciones de Java. Las anteriores son las colecciones Java más utilizadas. Para más detalles, consulte el documento de ayuda JDK. Jaja, hay muchas más aplicaciones de MAP, y es esto. Connections proporciona muchos métodos prácticos para la lista /mapa, que es muy útil para el desarrollo diario.
boolean contiene key (tecla de objeto): determina si hay una tecla de palabra clave en la imagen
Boolean ContinsValue (valor del objeto): determina si hay un valor en la imagen
int tize (): Devuelve el número de mapas en la imagen actual
boolean isEtimty (): determina si hay algún mapeo en la imagen
La lista guarda objetos en el orden en que ingresan los objetos, sin clasificar o editar operaciones. SET acepta solo una vez para cada objeto y usa su propio método de clasificación interna (por lo general, solo le importa si un elemento pertenece a SET, no su pedido; de lo contrario, debe usar la lista).
MAP también guarda una copia de cada elemento, pero esto se basa en "clave" y MAP también tiene una clasificación incorporada, por lo que no le importa el orden en que se agregan elementos. Si el pedido en el que se agregan elementos es importante para usted, debe usar Linkedhashset o Linkedhashmap.
Método de función de lista:
En realidad, hay dos tipos: uno es el ArrayList básico, que tiene la ventaja del acceso aleatorio a los elementos, y el otro es la LinkedList más potente, que no está diseñada para un acceso aleatorio rápido, pero tiene un conjunto más general de métodos.
Lista: El orden es la característica más importante de la lista: garantiza que se mantenga el orden específico de los elementos. La lista agrega muchos métodos a la colección, permitiendo la inserción y eliminación de elementos en el centro de la lista (esto solo se recomienda para LinkedList). Una lista puede generar un Listiterator, que puede usarlo para atravesar la lista desde dos direcciones, o insertar y eliminar elementos del centro de la lista.
ArrayList: Lista implementada por Array. Permite un acceso aleatorio rápido a los elementos, pero insertar y eliminar elementos en el medio de la lista es lento. Listiterator solo debe usarse para iterar a través de la lista de matrices de regreso a delantero, en lugar de insertar y eliminar elementos. Porque eso es mucho más caro que LinkedList.
LinkedList: el acceso secuencial está optimizado y la sobrecarga de insertar y eliminar en el centro de la lista no es muy alta. El acceso aleatorio es relativamente lento. (Use ArrayList en su lugar.) También tenga los siguientes métodos: addFirst (), addLast (), getFirst (), getLast (), removeFirst () y eliminar (). Estos métodos (no definidos en cualquier interfaz o clase base) hacen que LinkedList se use como una pila, cola y cola bidireccional.
Método de función del conjunto:
SET tiene exactamente la misma interfaz que la colección, por lo que no hay funcionalidad adicional, a diferencia de dos listas diferentes al frente. De hecho, SET es una colección, pero el comportamiento es diferente. (Esta es una aplicación típica de herencia y pensamiento polimórfico: realizar comportamientos diferentes). El conjunto no guarda elementos duplicados (ya que cómo juzgar los elementos son iguales, es más responsable)
Conjunto: cada elemento almacenado en el conjunto debe ser único porque el conjunto no guarda elementos duplicados. El elemento agregado al conjunto debe definir el método igual () para garantizar la singularidad del objeto. SET tiene exactamente la misma interfaz que la colección. La interfaz establecida no garantiza el orden de los elementos de mantenimiento.
Hashset: Conjunto diseñado para una búsqueda rápida. El objeto almacenado en el hashset debe definir hashcode ().
TreeSet: establecido en el orden de guardado, la capa subyacente es una estructura de árbol. Úselo para extraer secuencias ordenadas de SET.
Linkedhashset: tiene la velocidad de consulta del hashset y utiliza internamente la lista vinculada para mantener el orden de los elementos (orden de inserción). Entonces, cuando usa un iterador para atravesar el conjunto, los resultados se mostrarán en el orden en que se insertan elementos.
Método de función del mapa:
Método Put (clave de objeto, valor de objeto) agrega un "valor" (quiere algo) y una "clave" asociada con "valor" (usandolo para encontrar). El método get (clave de objeto) devuelve el "valor" asociado con la "clave" dada. Puede usar ContansKey () y ContAnsValue () para probar si se incluye una "clave" o "valor" en el mapa.
La biblioteca de clase Java estándar contiene varios mapas diferentes: Hashmap, Treemap, Linkedhashmap, Weakhashmap, Identityhashmap. Todos tienen el mismo mapa básico de interfaz, pero su comportamiento, eficiencia, estrategias de clasificación, ahorrando el ciclo de vida de los objetos y determinando el equivalente de "claves".
La eficiencia de la ejecución es un gran problema con el mapa. Si mira lo que va a hacer (), comprenderá por qué buscar "clave" en ArrayList es bastante lento. Y aquí es donde se acelera hashmap. Hashmap utiliza un valor especial llamado un código hash para reemplazar las búsquedas lentas de las claves.
"HAT CODE" es "relativamente único" para representar el valor INT de un objeto, y se genera convirtiendo cierta información del objeto. Todos los objetos Java pueden generar códigos hash porque hashcode () es un método definido en el objeto de clase base.
Hashmap usa el hashcode () del objeto para una consulta rápida. Este método puede mejorar significativamente el rendimiento.
Mapa: mantiene la correlación de "pares de valor clave" para que pueda encontrar "valores" a través de "claves"
Hashmap: MAP se basa en la implementación de la tabla hash. La sobrecarga de insertar y consultar los "pares de valor clave" se fija. La capacidad de capacidad y el factor de carga del factor de carga se pueden establecer a través del constructor para ajustar el rendimiento del contenedor.
Linkedhashmap: similar a hashmap, pero cuando se itera sobre él, el orden en el que el "par de valores clave" es su orden de inserción, o el orden de menos recientemente usado (LRU). Solo un poco más lento que el hashmap. Es más rápido enviar cuando se accede iterativamente porque usa listas vinculadas para mantener un orden interno.
Treemap: Implementación basada en la estructura de datos de los árboles rojos y negros. Cuando observa la "clave" o los "pares de valor clave", se clasifican (el orden se determina por comparabel o comparador). Treemap se caracteriza por el hecho de que los resultados que obtienes se clasifican. TreeMap es el único mapa con el método submap (), que puede devolver un subárbol.
Deakhashmap: mapa clave débil, los objetos utilizados en el mapa también se pueden lanzar: esto está diseñado para resolver problemas especiales. Si ninguna referencia fuera del mapa apunta a una "clave", esta "clave" puede ser reciclada por el recolector de basura.
IdentionHashMap: use == en lugar de igual () para comparar "claves". Diseñado específicamente para resolver problemas especiales.