Una breve introducción a TreeMap en Java con ejemplos



Este artículo le proporcionará un conocimiento detallado y completo de TreeMap en Java con ejemplos de métodos y constructores.

Implementar una interfaz de mapa en Java es una tarea muy importante. Para este propósito, tenemos TreeMap y HashMap . En este artículo, nuestro enfoque estará en TreeMap en en el siguiente orden:

¿Qué es un TreeMap en Java?

Un TreeMap en Java se utiliza para implementar la interfaz Map y NavigableMap junto con la clase abstracta. El mapa se clasifica de acuerdo con el orden natural de sus claves, o mediante un comparador proporcionado en el momento de la creación del mapa, según el constructor que se utilice. Esto demuestra ser una forma eficaz de ordenar y almacenar los pares clave-valor.





TreeMap-in-JavaEl orden de almacenamiento mantenido por el mapa de árbol debe ser coherente con iguales al igual que cualquier otro mapa ordenado, independientemente de los comparadores explícitos. El mapa de árbolLa implementación no está sincronizada en el sentido de que si varios subprocesos acceden a un mapa, simultáneamente y al menos uno de los subprocesos modifica el mapa estructuralmente, debe sincronizarse externamente.

Características de TreeMaps

  • Esta clase es miembro de Java Collections Framework.



  • La clase implementa interfaces de mapas que incluyen NavigableMap, SortedMap y extiende AbstractMap

  • TreeMap en Java no permite claves nulas (como Map) y, por lo tanto, se lanza una NullPointerException. Sin embargo, se pueden asociar varios valores nulos con diferentes claves.

  • Todos los pares Map.Entry devueltos por los métodos de esta clase y sus vistas representan instantáneas de las asignaciones en el momento en que se produjeron.



  • No admiten el método Entry.setValue.

Puntos importantes para recordar

  1. Además de implementar la interfaz Map, Java TreeMap también implementa NavigableMap e indirectamente implementa la interfaz SortedMap. TreeMap también extiende la clase AbstractMap.

  2. Las entradas de TreeMap se ordenan en el orden natural de sus claves. También proporciona un constructor para proporcionar Comparador que se utilizará para realizar pedidos. Entonces, si está utilizando cualquier clase como clave, asegúrese de que esté implementando una interfaz comparable para un orden natural. Consulte las preguntas de la entrevista sobre colecciones de Java para comprender la importancia de estos métodos.

    fusionar orden c ++ matriz
  3. La implementación de Java TreeMap proporciona un costo de tiempo de registro (n) garantizado para las operaciones containsKey, get, put y remove.

  4. TreeMap no está sincronizado y, por lo tanto, no es seguro para subprocesos. Para entornos de multiproceso, puede obtener un empaquetado sincronizado usando el método Collections.synchronizedSortedMap.

  5. Los métodos TreeMap para obtener el conjunto de claves y los valores devuelven un Iterador que es de naturaleza rápida a fallas, por lo que cualquier modificación simultánea arrojará ConcurrentModificationException.

  6. TreeMap en java no permite claves nulas, sin embargo, puede tener múltiples valores nulos asociados con claves diferentes.

Constructores en TreeMap

Constructor Descripción
TreeMap () Construye un mapa de árbol vacío que se ordenará utilizando el orden natural de sus claves.
TreeMap (comp del comparador) Construye un mapa vacío basado en un árbol que se ordenará usando la compilación Comparator.
TreeMap (Mapa m) Inicializa un mapa de árbol con las entradas de m, que se ordenarán utilizando el orden natural de las claves.
TreeMap (SortedMap sm) Inicializa un mapa de árbol con las entradas del SortedMap sm, que se ordenarán en el mismo orden que sm.

Métodos en TreeMap

Método Descripción
vacío claro () Elimina todas las asignaciones de este TreeMap.
Clonar objeto () Devuelve una copia superficial de esta instancia de TreeMap.
Comparador comparador () Devuelve el comparador usado para ordenar este mapa, o nulo si este mapa usa el orden natural de sus claves.
boolean containsKey (clave de objeto) Devuelve verdadero si este mapa contiene un mapeo para la clave especificada.
boolean containsValue (valor del objeto) Devuelve verdadero si este mapa asigna una o más claves al valor especificado.
Establecer entrySet () Devuelve una vista de conjunto de las asignaciones contenidas en este mapa.
Objeto firstKey () Devuelve la primera clave (la más baja) actualmente en este mapa ordenado.
Obtener objeto (clave de objeto) Devuelve el valor al que este mapa asigna la clave especificada.
SortedMap headMap (Objeto toKey) Devuelve una vista de la parte de este mapa cuyas claves son estrictamente menores que toKey.
Establecer keySet () Devuelve una vista de conjunto de las claves contenidas en este mapa.
Objeto lastKey () Devuelve la última clave (la más alta) actualmente en este mapa ordenado.
Objeto puesto (clave de objeto, valor de objeto) Asocia el valor especificado con la clave especificada en este mapa.
void putAll (mapa del mapa) Copia todas las asignaciones del mapa especificado a este mapa.
Eliminar objeto (clave de objeto) Elimina la asignación de esta clave de este TreeMap si está presente.
int tamaño () Devuelve el número de asignaciones de clave-valor en este mapa.
SortedMap subMap (objeto fromKey, objeto toKey) Devuelve una vista de la parte de este mapa cuyas claves van de fromKey, inclusive, a toKey, exclusivo.
SortedMap tailMap (Objeto fromKey) Devuelve una vista de la parte de este mapa cuyas claves son mayores o iguales que fromKey.
Valores de colección () Devuelve una vista de colección de los valores contenidos en este mapa.

Ejemplo de TreeMap en Java

import java.util.TreeMap public class TreeMapMain {public static void main (String args []) {// TreeMap con Country como clave y capital como valor // TreeMap almacena elementos en el orden natural de las claves. TreeMap countryCapitalMap = new TreeMap () countryCapitalMap.put ('India', 'Delhi') countryCapitalMap.put ('Japón', 'Tokio') countryCapitalMap.put ('Francia', 'París') countryCapitalMap.put ('Rusia' , 'Moscú') System.out.println ('-----------------------------') // Iterando TreeMap usando keySet ( ) y para cada bucle System.out.println ('Iterando TreeMap usando keySet () y para cada bucle') para (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Country:' + countryKey + ' y Capital: '+ countryCapitalMap.get (countryKey))} System.out.println (' ----------------------------- ' )}}

Salida:

Con esto, llegamos al final de este artículo de TreeMap en Java. C diablos el por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso de certificación y capacitación Java J2EE y SOA de Edureka está diseñado para estudiantes y profesionales que desean ser desarrolladores de Java. El curso está diseñado para darle una ventaja en la programación de Java y capacitarlo para los conceptos básicos y avanzados de Java junto con varios marcos de Java como Hibernate y Spring.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este blog 'TreeMap en Java' y nos comunicaremos con usted lo antes posible.