En Java, List y Map se usan en colecciones. Pero no pude entender en qué situaciones deberíamos usar List y en qué momento usar Map. ¿Cuál es la principal diferencia entre ambos?¿En qué se diferencia la lista del mapa?
Respuesta
ahora sería un buen momento para leer el Java collections tutorial - pero fundamentalmente, una lista es una secuencia ordenada de elementos que se pueda acceder mediante un índice, y un mapa es una generalmente desordenada asignación de claves de valores. (Algunos mapas conservan el orden de inserción, pero eso es específico de la implementación.)
Es generalmente bastante obvio cuando quiere una asignación de clave/valor y cuando solo quiere una colección de elementos. Se vuelve menos claro si la clave es parte de el valor, pero desea poder acceder a un elemento con esa clave de manera eficiente. Ese sigue siendo un buen caso de uso para un mapa, aunque en algunos sentidos no tiene una colección separada de claves.
También hay Set
, que es una colección (generalmente desordenada) de elementos distintos.
List
es solo un collectiom ordenado (una secuencia). Compruebe esto list documentation. Puede acceder a los elementos por su índice entero (posición en la lista) y buscar elementos en la lista. También las listas permiten elementos duplicados y múltiples elementos NULL.
Map
es un objeto que asigna los valores a las claves. Compruebe esto map documentation. Un mapa no puede contener claves duplicadas; cada tecla se puede asignar a un máximo de un valor.
Interfaz del mapa A A Map le importa los identificadores únicos. Asigna una clave única (ID) a un valor específico , donde tanto la clave como el valor son, por supuesto, objetos. Las implementaciones de mapas le permiten hacer cosas como buscar un valor basado en la clave, solicitar una colección de solo los valores, o solicitar una colección de solo las teclas. Al igual que los Conjuntos, los Mapas se basan en el método equals() para determinar si dos claves son iguales o diferentes.
Interfaz de lista A La lista se preocupa por el índice. Lo único que List tiene que las listas no tienen es un conjunto de métodos relacionados con el índice. Esos métodos clave incluyen cosas como get (int index), indexOf (Object o), add (int index, Object obj), y así en. Las tres implementaciones de lista se ordenan por posición de índice, una posición que determina estableciendo un objeto en un índice específico o agregándolo sin especificando la posición, en cuyo caso el objeto se agrega al final.
lista es una lista vinculada, donde cada objeto se conecta a la siguiente a través de punteros. el tiempo que toma insertar un nuevo objeto en la lista es O (1) pero el resto de las operaciones en él toman más tiempo.
Lo bueno de esto es que toma exactamente la cantidad de memoria que necesita y ni siquiera en bytes más que eso.
Los mapas son una estructura de datos que tiene una matriz y cada entrada a la matriz se calcula con un hashFunction(key)
que calcula la ubicación de acuerdo con la clave. casi todas las operaciones en un mapa toman O (1) (excepto la inserción cuando hay 2 claves idénticas) pero la complejidad del espacio es bastante grande.
para HashMap y linked list
HashMap y LinkedList son implementaciones de la interfaz de Mapa y Lista, solo son un caso específico de esas colecciones. –
@GuillaumePolet, tiene razón, pero la idea es qué es importante. Entender la diferencia entre hashmap y linkedlist es la base para comprender la diferencia entre MAP y LIST – thepoosh
lista ordenada más lectura intento de Wikipedia es una estructura de datos que almacena objetos en una tabla hash y una list.it es una combinación de HashMap y la lista doblemente enlazada. el acceso será más rápido. HashMap es la implementación de la tabla hash de la interfaz del mapa; es lo mismo que HashTable, excepto que no está sincronizado y permite valores nulos. La lista es una colección ordenada y permite nulos y duplicados en ella. el acceso posicional es posible. Set es una colección que no permite duplicados, puede permitir como máximo un elemento nulo. lo mismo que nuestro conjunto matemático.
List - This datastructure is used to contain list of elements.
In case you need list of elements and the list may contain duplicate values,
then you have to use List.
Map - It contains data as key value pair. When you have to store data
in key value pair,so that latter you can retrieve data using the key,
you have to use Map data structure.
aplicación Lista - ArrayList, LinkedList
Mapa aplicación - HashMap, TreeMap
En comparación HashMap
a ArrayList
- Un mapa hash es la estructura de datos más rápida si se quiere conseguir todo nodos para una página. La lista de nodos se puede buscar en tiempo constante (O (1)) mientras que con listas el tiempo es O (n) (n = número de páginas, más rápido en listas ordenadas pero nunca acercarse a O (1))
- 1. lista como valor del mapa en griales
- 2. ¿Por qué los resultados del mapa() y la comprensión de la lista son diferentes?
- 3. Diferencia entre mapa y dict
- 4. ¿En qué se diferencia indexedDB conceptualmente del almacenamiento local HTML5?
- 5. Lista vs Mapa en Java
- 6. Origen del "mapa" en Informática
- 7. ¿Cómo se define el contenido del mapa en la inicialización?
- 8. ¿En qué se diferencia la prueba de membresía de una lista y un conjunto?
- 9. ¿Cómo se convierte una lista de números en un mapa?
- 10. Lista de transformación en el mapa del elemento -> lista (elemento) en scala
- 11. Diferencia entre elementos consecutivos en la lista
- 12. ¿En qué se diferencia MegaStore de BigTable?
- 13. ¿Por qué CoffeeScript requiere espacios en blanco después del mapa?
- 14. cuál es la diferencia entre mapa y hashmap en STL
- 15. implementar Elegantemente 'mapa (1) Lista' en rubí
- 16. ¿En qué se diferencia engine.io de socket.io?
- 17. ¿En qué se diferencia la arquitectura x64 de x86
- 18. ¿En qué se diferencia la implementación de LinkedHashMap de HashMap?
- 19. ¿En qué se diferencia la raqueta de Scheme?
- 20. ¿En qué se diferencia la tipificación de pato del tipo y las interfaces "variante" anterior?
- 21. ¿En qué se diferencia la construcción del dispositivo iOS y el simulador?
- 22. ¿Cuál es la diferencia entre Bitmap.Clone() y el nuevo mapa de bits (mapa de bits)?
- 23. ¿Por qué la lista de mi mapa Perl devuelve solo 1?
- 24. ¿Por qué la diferencia en la nomenclatura?
- 25. ¿Por qué esta declaración del mapa en Perl no se compila?
- 26. Eliminar polígono del mapa
- 27. Mapa del sitio dinámico en ASP.NET MVC
- 28. Mapa del mundo interactivo
- 29. Diferencia entre un mapa de bits y una imagen de mapa de bits en WPF
- 30. ¿Cuál es la diferencia entre '() y (lista) en Clojure?
Way para obtener una respuesta skeet! – chiliNUT