logo

Clase Java TreeMap

Jerarquía de clases de Java TreeMap

La clase Java TreeMap es una implementación basada en un árbol rojo-negro. Proporciona un medio eficaz para almacenar pares clave-valor en orden.

Los puntos importantes sobre la clase Java TreeMap son:

  • Java TreeMap contiene valores basados ​​en la clave. Implementa la interfaz NavigableMap y extiende la clase AbstractMap.
  • Java TreeMap contiene sólo elementos únicos.
  • Java TreeMap no puede tener una clave nula, pero puede tener varios valores nulos.
  • Java TreeMap no está sincronizado.
  • Java TreeMap mantiene el orden ascendente.

Declaración de clase TreeMap

Veamos la declaración de la clase java.util.TreeMap.

patrón de diseño singleton java
 public class TreeMap extends AbstractMap implements NavigableMap, Cloneable, Serializable 

Parámetros de la clase TreeMap

Veamos los parámetros de la clase java.util.TreeMap.

    k: Es el tipo de claves que mantiene este mapa.EN: Es el tipo de valores mapeados.

Constructores de la clase Java TreeMap

ConstructorDescripción
Mapa de árbol()Se utiliza para construir un mapa de árbol vacío que se ordenará según el orden natural de su clave.
TreeMap (comparador comparador)Se utiliza para construir un mapa vacío basado en árbol que se ordenará mediante el comparador comp.
Mapa de árbol(Mapa m)Se utiliza para inicializar un mapa de árbol con las entradas de metro , que se ordenará siguiendo el orden natural de las claves.
Mapa de árbol (Mapa ordenado m)Se utiliza para inicializar un mapa de árbol con las entradas del SortedMap. sm , que se ordenará en el mismo orden que sm.

Métodos de la clase Java TreeMap

MétodoDescripción
Map.Entry techoEntrada(tecla K)Devuelve el par clave-valor que tiene la clave menor, mayor o igual que la clave especificada, o nulo si no existe dicha clave.
Tecla de techo K (tecla K)Devuelve la clave menor, mayor que la clave especificada o nula si no existe dicha clave.
vacío claro()Elimina todos los pares clave-valor de un mapa.
Clon de objeto()Devuelve una copia superficial de la instancia de TreeMap.
Comparador comparador()Devuelve el comparador que organiza la clave en orden, o nulo si el mapa usa el orden natural.
NavigableSet descendenteKeySet()Devuelve una vista NavigableSet de orden inverso de las claves contenidas en el mapa.
Mapa navegableMapa descendente()Devuelve los pares clave-valor especificados en orden descendente.
Mapa.Entrada primeraEntrada()Devuelve el par clave-valor que tiene la menor clave.
Mapa.Entrada pisoEntrada(tecla K)Devuelve la clave mayor, menor o igual que la clave especificada, o nula si no existe dicha clave.
anular para cada uno (acción BiConsumer)Realiza la acción dada para cada entrada en el mapa hasta que se hayan procesado todas las entradas o la acción genere una excepción.
Mapa de cabecera de mapa ordenado (K a clave)Devuelve los pares clave-valor cuyas claves son estrictamente menores que toKey.
NavigableMap headMap(K toKey, booleano inclusive)Devuelve los pares clave-valor cuyas claves son menores que (o iguales si inclusivo es verdadero) toKey.
Map.Entry entrada superior (tecla K)Devuelve la clave mínima estrictamente mayor que la clave proporcionada, o nula si no existe dicha clave.
K tecla superior (tecla K)Se utiliza para devolver verdadero si este mapa contiene una asignación para la clave especificada.
Establecer conjunto de claves()Devuelve la colección de claves que existen en el mapa.
Mapa.Entrada última entrada()Devuelve el par clave-valor que tiene la clave más grande, o nulo si no existe dicha clave.
Map.Entry entrada inferior (tecla K)Devuelve una asignación clave-valor asociada con la clave más grande estrictamente menor que la clave dada, o nula si no existe dicha clave.
K tecla inferior(tecla K)Devuelve la clave mayor estrictamente menor que la clave dada, o nula si no existe dicha clave.
Conjunto navegable conjunto de claves navegables()Devuelve una vista NavigableSet de las claves contenidas en este mapa.
Map.Entry encuestaFirstEntry()Elimina y devuelve una asignación clave-valor asociada con la menor clave en este mapa, o nula si el mapa está vacío.
Map.Entry encuestaLastEntry()Elimina y devuelve una asignación clave-valor asociada con la clave más grande en este mapa, o nula si el mapa está vacío.
V put (tecla K, valor V)Inserta el valor especificado con la clave especificada en el mapa.
void putAll(Mapa mapa)Se utiliza para copiar todo el par clave-valor de un mapa a otro mapa.
Reemplazo de V (tecla K, valor V)Reemplaza el valor especificado por una clave especificada.
reemplazo booleano (tecla K, V oldValue, V newValue)Reemplaza el valor anterior con el nuevo valor para una clave especificada.
anular reemplazar todo (función BiFunction)Reemplaza el valor de cada entrada con el resultado de invocar la función dada en esa entrada hasta que se hayan procesado todas las entradas o la función arroje una excepción.
Submapa de NavigableMap(K fromKey, booleano fromInclusive, K toKey, booleano toInclusive)Devuelve pares clave-valor cuyas claves van desde fromKey hasta toKey.
Submapa de mapa ordenado (K desde clave, K hasta clave)Devuelve pares clave-valor cuyas claves van desde fromKey, inclusive, hasta toKey, exclusiva.
Mapa ordenado tailMap (K de clave)Devuelve pares clave-valor cuyas claves son mayores o iguales que fromKey.
NavigableMap tailMap(K fromKey, booleano inclusive)Devuelve pares clave-valor cuyas claves son mayores que (o iguales, si inclusive es verdadero) fromKey.
booleano contiene clave (clave de objeto)Devuelve verdadero si el mapa contiene una asignación para la clave especificada.
booleano contieneValor(Valor del objeto)Devuelve verdadero si el mapa asigna una o más claves al valor especificado.
K primera clave()Se utiliza para devolver la primera clave (la más baja) actualmente en este mapa ordenado.
V get (clave de objeto)Se utiliza para devolver el valor al que el mapa asigna la clave especificada.
K última clave()Se utiliza para devolver la última clave (la más alta) actualmente en el mapa ordenado.
V eliminar (clave de objeto)Elimina el par clave-valor de la clave especificada del mapa.
Colocarconjunto de entrada()Devuelve una vista establecida de las asignaciones contenidas en el mapa.
tamaño entero()Devuelve el número de pares clave-valor que existen en la tabla hash.
Valores de colección()Devuelve una vista de colección de los valores contenidos en el mapa.

Ejemplo de mapa de árbol de Java

 import java.util.*; class TreeMap1{ public static void main(String args[]){ TreeMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); for(Map.Entry m:map.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } } 
 Output:100 Amit 101 Vijay 102 Ravi 103 Rahul 

Ejemplo de Java TreeMap: eliminar()

 import java.util.*; public class TreeMap2 { public static void main(String args[]) { TreeMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); System.out.println('Before invoking remove() method'); for(Map.Entry m:map.entrySet()) { System.out.println(m.getKey()+' '+m.getValue()); } map.remove(102); System.out.println('After invoking remove() method'); for(Map.Entry m:map.entrySet()) { System.out.println(m.getKey()+' '+m.getValue()); } } } 

Producción:

cómo encontrar aplicaciones ocultas en Android
 Before invoking remove() method 100 Amit 101 Vijay 102 Ravi 103 Rahul After invoking remove() method 100 Amit 101 Vijay 103 Rahul 

Ejemplo de Java TreeMap: NavigableMap

 import java.util.*; class TreeMap3{ public static void main(String args[]){ NavigableMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); //Maintains descending order System.out.println('descendingMap: '+map.descendingMap()); //Returns key-value pairs whose keys are less than or equal to the specified key. System.out.println('headMap: '+map.headMap(102,true)); //Returns key-value pairs whose keys are greater than or equal to the specified key. System.out.println('tailMap: '+map.tailMap(102,true)); //Returns key-value pairs exists in between the specified key. System.out.println('subMap: '+map.subMap(100, false, 102, true)); } } 
 descendingMap: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} headMap: {100=Amit, 101=Vijay, 102=Ravi} tailMap: {102=Ravi, 103=Rahul} subMap: {101=Vijay, 102=Ravi} 

Ejemplo de Java TreeMap: SortedMap

 import java.util.*; class TreeMap4{ public static void main(String args[]){ SortedMap map=new TreeMap(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); //Returns key-value pairs whose keys are less than the specified key. System.out.println('headMap: '+map.headMap(102)); //Returns key-value pairs whose keys are greater than or equal to the specified key. System.out.println('tailMap: '+map.tailMap(102)); //Returns key-value pairs exists in between the specified key. System.out.println('subMap: '+map.subMap(100, 102)); } } 
 headMap: {100=Amit, 101=Vijay} tailMap: {102=Ravi, 103=Rahul} subMap: {100=Amit, 101=Vijay} 

¿Cuál es la diferencia entre HashMap y TreeMap?

HashMapÁrbolMapa
1) HashMap puede contener una clave nula.TreeMap no puede contener ninguna clave nula.
2) HashMap no mantiene ningún orden.TreeMap mantiene el orden ascendente.

Ejemplo de Java TreeMap: Libro

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class MapExample { public static void main(String[] args) { //Creating map of Books Map map=new TreeMap(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to map map.put(2,b2); map.put(1,b1); map.put(3,b3); //Traversing map for(Map.Entry entry:map.entrySet()){ int key=entry.getKey(); Book b=entry.getValue(); System.out.println(key+' Details:'); System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 

Producción:

 1 Details: 101 Let us C Yashwant Kanetkar BPB 8 2 Details: 102 Data Communications & Networking Forouzan Mc Graw Hill 4 3 Details: 103 Operating System Galvin Wiley 6