¿Cuáles son las diferencias entre set, map y list en JAVA? (Lo más detallado posible)
Las colecciones de Java se dividen principalmente en tres tipos:
Conjunto (conjunto)
Lista (lista)
Mapa (mapeo)
Para comprender las colecciones en profundidad, primero debemos comprender las matrices con las que estamos familiarizados:
Las matrices tienen un tamaño fijo y la misma matriz solo puede almacenar datos del mismo tipo (básicos). tipo/tipo de referencia), mientras que las colecciones JAVA pueden almacenar y operar un conjunto de datos con un número variable. ¡Todas las colecciones de JAVA se encuentran en el paquete java.util! Las colecciones JAVA solo pueden almacenar datos de tipo de referencia, no tipos de datos básicos.
Hablemos brevemente sobre la diferencia entre colecciones y matrices: (Artículo de referencia: "Thinking In Algorithm" 03. Matriz de estructura de datos)
Todo el "almacenamiento y acceso aleatorio a una matriz" de Java serie de objetos" En la práctica, la matriz es la más eficiente.
1.
Alta eficiencia, pero la capacidad es fija y no se puede cambiar dinámicamente.
Otra desventaja de la matriz es que es imposible determinar cuántos elementos están realmente almacenados en ella. La longitud solo nos dice la capacidad de la matriz.
2. Existe una clase Arrays en Java, que se utiliza especialmente para operar matrices.
Existe un conjunto de funciones estáticas en los arrays,
equals(): Compara si dos arrays son iguales. Las matrices tienen la misma cantidad de elementos y todos los elementos correspondientes son iguales.
fill(): Completa el valor en la matriz.
sort(): se utiliza para ordenar una matriz.
binarySearch(): busca elementos en la matriz ordenada.
System.arraycopy(): Copia del array.
Si no sabe cuántos objetos se necesitan al escribir un programa y necesita expandir automáticamente la capacidad cuando no hay espacio suficiente, necesita usar una biblioteca de clases contenedora, y la matriz no es adecuada. Entonces necesitamos usar colecciones.
Entonces comencemos a discutir las colecciones en Java.
Clasificación de colecciones:
Colección: Lista, Conjunto
Mapa: HashMap, HashTable