linkedhashmap java linkedhashmap example implementation
Este tutorial explica todo sobre LinkedHashMap en Java, incluidos ejemplos y métodos de LinkedHashMap, implementación en Java, LinkedHashMap vs HashMap:
LinkedHashMap en Java es una implementación que combina la implementación de HashTable y LinkedList. Implementa la interfaz Map. Los pares clave-valor de LinkedHashMap tienen un orden de iteración predecible.
Además de la interfaz Map, LinkedHashMap también amplía la clase HashMap.
=> Visite aquí para ver la serie de formación Java para todos.
ordenar comando en linux con ejemplos
Lo que vas a aprender:
LinkedHashMap en Java
Algunas de las principales características de LinkedHashMap son:
- Contiene valores basados en claves.
- Mantiene el orden de inserción de pares clave-valor.
- No permite duplicados, tiene elementos únicos.
- Puede tener una única clave nula. Pero permite múltiples valores nulos.
- Java LinkedHashMap no está sincronizado.
Declaración de LinkedHashMap
La clase LinkedHashMap en Java es parte del paquete java.util.
La declaración general de esta clase en Java es la siguiente:
|_+_|Aquí K => tipo de claves en el mapa.
V => tipo de valores asignados a claves.
La jerarquía de clases de LinkedHashMap se muestra a continuación:

Como se muestra en el diagrama anterior, LinkedHashMap hereda la clase HashMap y AbstractMap e implementa la interfaz Map.
Ejemplo LinkedHashMap
A continuación se muestra un ejemplo sencillo.
|_+_|Producción:
mejor descargador de mp3 para Android sin anuncios
El contenido de LinkedHashMap:
1 UNO
2 DOS
3 TRES
4 CUATRO
5 CINCO

Constructores y métodos
Analicemos los constructores y métodos proporcionados por la clase LinkedHashMap. Primero, discutiremos los constructores seguidos de métodos.
Constructores
| Prototipo de constructor | Descripción | |
|---|---|---|
| juego de llaves | Establecer keySet () | Devuelve un conjunto de claves en el mapa. |
| LinkedHashMap () | Constructor predeterminado para LinkedHashMap. | |
| LinkedHashMap (capacidad int) | Crea un objeto LinkedHashMap con una capacidad determinada. | |
| LinkedHashMap (capacidad int, factor de carga flotante) | Crea un objeto LinkedHashMap con capacidad y loadFactor dados. | |
| LinkedHashMap (int capacidad, float loadFactor, boolean accessOrder) | Crea un objeto LinkedHashMap con una capacidad y loadFactor determinados. Además, se especifica el modo de pedido (accessOrder). | |
| LinkedHashMap (Mapa m) | Crea un objeto LinkedHashMap y lo inicializa con los valores del mapa m pasado como argumento. |
Métodos
| Método | Prototipo de método | Descripción |
|---|---|---|
| obtener | V get (clave de objeto) | Devuelve el valor de la clave dada. |
| claro | vacío claro () | Borra todos los pares clave-valor del mapa. |
| containsValue | boolean containsValue (valor del objeto) | Comprueba si el mapa contiene una o más claves asignadas al valor dado. Devuelve verdadero si es así. |
| entrySet | Colocar | Devuelve un conjunto de entradas en el mapa. |
| para cada | void forEach (acción BiConsumer) | Ejecuta la acción dada para todas las entradas en el mapa. |
| getOrDefault | V getOrDefault (clave de objeto, V defaultValue) | Devuelve el valor asignado a la clave. Si no se asigna ningún valor, se devuelve el valor predeterminado. |
| removeEldestEntry | protected boolean removeEldestEntry (Map.Entry eldest) | Elimina la entrada más antigua del mapa y devuelve verdadero al eliminarla. |
| reemplaza todo | void replaceAll (función BiFunction) | Invoca la función dada en cada entrada y reemplaza el resultado de la función con los valores. |
| valores | Valores de colección () | Devuelve la colección de valores en el mapa. |
Implementación en Java
El programa Java a continuación muestra la implementación de LinkedHashMap mediante la demostración de los métodos discutidos anteriormente.
|_+_|Producción:
LinkedHashMap original: {uno = rojo, dos = verde, tres = azul}
LinkedHashMap 'colors_map' ¿vacío?: Falso
Tamaño del mapa: 3
Valor de clave = 'uno': rojo
colors_map contiene key = 'dos': verdadero
colors_map contiene el valor 'ree': falso
eliminar el elemento 'uno': rojo
Mapa de colores actualizado: {dos = verde, tres = azul}

En este programa, declaramos un mapa de colores y lo inicializamos. Luego usamos los diversos métodos discutidos anteriormente para obtener los resultados.
LinkedHashMap Vs HashMap
| LinkedHashMap | HashMap | ||
|---|---|---|---|
| La complejidad temporal de las operaciones básicas. | O (1) | O (1) | O (1) |
| Implementa mapas ordenados. | Implementa mapas desordenados. | ||
| Utiliza una lista de depósitos doblemente enlazada. | Utiliza tabla hash. | ||
| Mantiene el orden al iterar los elementos. | No mantiene el orden al iterar. | ||
| Requiere más memoria. | Requiere menos memoria que LinkedHashMap. | ||
| Las operaciones básicas como agregar, eliminar, buscar, etc. son más lentas. | Las operaciones básicas como agregar, eliminar búsquedas son más rápidas. |
HashMap Vs TreeMap Vs LinkedHashMap
Comparemos ahora las tres implementaciones de mapas a saber. HashMap, TreeMap y LinkedHashMap.
La siguiente tabla muestra la comparación / diferencia.
| Parámetro de comparación | HashMap | LinkedHashMap | TreeMap |
|---|---|---|---|
| Interfaz | Mapa | Mapa | Mapa, SortedMap, NavigableMap |
| Estructura de datos | Lista de cubos | Lista de depósitos doble enlazada | Árbol rojo-negro |
| Orden de iteración | No se mantienen pedidos. | Ordenado según el orden de inserción | Clasificados según el orden natural de los elementos |
| Claves nulas | Están permitidos | Están permitidos | No permitido |
| Sincronización | No sincronizado | No sincronizado | No sincronizado |
| Requisito de claves | Necesita sobrescribir los métodos equals () y hashCode () | Necesita sobrescribir los métodos equals () y hashCode () | Se mantiene el orden natural o es necesario suministrar un comparador |
Preguntas frecuentes
P # 1) ¿Qué es LinkedHashMap en Java?
ejemplos de historias de usuario con criterios de aceptación
Responder: LinkedHashMap en Java se implementa como una combinación de HashTable y LinkedList. Implementa la interfaz del mapa. Tiene un orden de iteración predecible. Utiliza internamente una lista de entradas doblemente enlazada.
Q #2)¿Cómo funciona LinkedHashMap en Java?
Responder: Es similar a HashMap pero difiere de HashMap en el orden de inserción que mantiene LinkedHashMap. Los elementos en LinkedHashMap se almacenan de la misma manera en que se ingresan en la estructura de datos.
Q #3)¿Cómo recorro un LinkedHashMap?
Responder: Podemos recorrer un LinkedHashMap usando un iterador.
Los siguientes son los pasos que podemos seguir para iterar a través del LinkedHashMap usando el iterador:
- Cree un nuevo objeto LinkedHashMap.
- Utilice el método Put API para insertar pares clave-valor en el mapa.
- Llame al método de API entrySet () para obtener un conjunto de pares clave-valor en el mapa.
- Invoque el iterador en este conjunto para recuperar cada par clave-valor mediante los métodos de API getKey () y getValue ().
Q #4)¿Cuál es el uso de LinkedHashMap en Java?
Responder: El uso principal de LinkedHashMap en Java es usarlo para preservar el orden de inserción. También se puede utilizar para preservar el orden de acceso mediante el cual se accede a las claves. Dado que es más rápido que HashMap, LinkedHashMap se puede utilizar en lugar de HashMap donde el rendimiento es crítico.
Q #5)¿Es HashMap más rápido que LinkedHashMap?
Responder: Ambos son similares en rendimiento. HashMap necesita menos memoria en comparación con LinkedHashMap ya que HashMap no mantiene el orden de acceso. Por lo tanto, comparativamente, HashMap es más rápido.
Conclusión
En este tutorial, hemos discutido el LinkedHashMap en Java. Hemos visto los detalles relacionados con la declaración de clases, jerarquía de clases, constructores y métodos.
También hemos aprendido las principales diferencias entre LinkedHashMap y HashMap. También discutimos la diferencia de 3 vías entre LinkedHashMap, HashMap y TreeMap.
En nuestro próximo tutorial, exploraremos más temas sobre Java Collection Framework.
=> Tenga cuidado con la serie de capacitación simple de Java aquí.
Lectura recomendada
- Tutorial de reflexión de Java con ejemplos
- Tutoriales detallados de Eclipse para principiantes
- ¿Qué es una HashTable de Java - Implementación y ejemplo de HashTable?
- Tutorial de JAVA para principiantes: más de 100 tutoriales prácticos en vídeo de Java
- Modificadores de acceso en Java: tutorial con ejemplos
- Tutorial de Java SWING: contenedor, componentes y manejo de eventos
- Tutorial del método Java String contains () con ejemplos
- Tutorial Java String con String Buffer y String Builder