Java : TreeMap con ejemplos

TreeMap (Java SE 23 & JDK 23) en Java con ejemplos.
Encontrará muestras de código para la mayoría de los métodos TreeMap<K,V>.

Nota :


Summary

Implementación de NavigableMap basada en un árbol rojo-negro. El mapa se ordena según 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. (Traducción automática)

Class diagram

final var map = new TreeMap<String, Integer>();
System.out.println(map); // {}

map.put("a", 10);
map.put("b", 20);
map.put("c", 30);
System.out.println(map); // {a=10, b=20, c=30}

System.out.println(map.get("a")); // 10
System.out.println(map.get("b")); // 20
System.out.println(map.get("X")); // null

map.remove("b");
System.out.println(map); // {a=10, c=30}
final var treeMap = new TreeMap<String, Integer>();
treeMap.put("ccc", 10);
treeMap.put("ddd", 20);
treeMap.put("aaa", 30);
treeMap.put("bbb", 40);

System.out.println(treeMap); // {aaa=30, bbb=40, ccc=10, ddd=20}

final var hashMap = new HashMap<String, Integer>();
hashMap.put("ccc", 10);
hashMap.put("ddd", 20);
hashMap.put("aaa", 30);
hashMap.put("bbb", 40);

System.out.println(hashMap); // {aaa=30, ccc=10, bbb=40, ddd=20}

Constructors

TreeMap ()

Construye un nuevo mapa de árbol vacío, utilizando el orden natural de sus claves. (Traducción automática)

final var map = new TreeMap<String, Integer>();
System.out.println(map); // {}
System.out.println(map.isEmpty()); // true

map.put("b", 10);
map.put("a", 20);
map.put("c", 30);

System.out.println(map); // {a=20, b=10, c=30}
System.out.println(map.size()); // 3
final var map = new TreeMap<Integer, String>();

map.put(100, "a");
map.put(999, "b");
map.put(-200, "c");

System.out.println(map); // {-200=c, 100=a, 999=b}

TreeMap (Comparator<? super K> comparator)

Construye un nuevo mapa de árbol vacío, ordenado según el comparador dado. (Traducción automática)

final var src = Map.of("bbb", 10, "aaa", 20, "ccc", 30);

final var map1 = new TreeMap<String, Integer>();
map1.putAll(src);
System.out.println(map1); // {aaa=20, bbb=10, ccc=30}

final var map2 = new TreeMap<String, Integer>(Comparator.reverseOrder());
map2.putAll(src);
System.out.println(map2); // {ccc=30, bbb=10, aaa=20}

TreeMap (Map<? extends K,? extends V> m)

Construye un nuevo mapa de árbol que contiene las mismas asignaciones que el mapa dado, ordenadas de acuerdo con el orden natural de sus claves. (Traducción automática)

final var m = Map.of("b", 10, "a", 20, "c", 30);

final var map = new TreeMap<>(m);
System.out.println(map); // {a=20, b=10, c=30}
System.out.println(map.size()); // 3

TreeMap (SortedMap<K,? extends V> m)

Construye un nuevo mapa de árbol que contiene las mismas asignaciones y utiliza el mismo orden que el mapa ordenado especificado. (Traducción automática)

final var m = new TreeMap<String, Integer>(Comparator.reverseOrder());
m.put("a", 10);
m.put("b", 20);
m.put("c", 30);

System.out.println(m); // {c=30, b=20, a=10}

final var map = new TreeMap<>(m);
System.out.println(map); // {c=30, b=20, a=10}
System.out.println(map.size()); // 3

Methods

Map.Entry<K,V> ceilingEntry (K key)

Devuelve una asignación clave-valor asociada con la clave más pequeña mayor o igual a la clave dada, o nulo si no existe dicha clave. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("b", 10);
map.put("d", 20);
map.put("f", 30);

System.out.println(map); // {b=10, d=20, f=30}

System.out.println(map.ceilingEntry("a")); // b=10
System.out.println(map.ceilingEntry("b")); // b=10
System.out.println(map.ceilingEntry("c")); // d=20
System.out.println(map.ceilingEntry("d")); // d=20
System.out.println(map.ceilingEntry("e")); // f=30
System.out.println(map.ceilingEntry("f")); // f=30
System.out.println(map.ceilingEntry("g")); // null

K ceilingKey (K key)

Devuelve la clave menor mayor o igual a la clave dada, o nulo si no existe dicha clave. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("b", 10);
map.put("d", 20);
map.put("f", 30);

System.out.println(map); // {b=10, d=20, f=30}

System.out.println(map.ceilingKey("a")); // b
System.out.println(map.ceilingKey("b")); // b
System.out.println(map.ceilingKey("c")); // d
System.out.println(map.ceilingKey("d")); // d
System.out.println(map.ceilingKey("e")); // f
System.out.println(map.ceilingKey("f")); // f
System.out.println(map.ceilingKey("g")); // null

void clear ()

Elimina todas las asignaciones de este mapa. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);

System.out.println(map); // {a=1, b=2, c=3}
System.out.println(map.size()); // 3

map.clear();
System.out.println(map); // {}
System.out.println(map.size()); // 0

Object clone ()

Devuelve una copia superficial de esta instancia de TreeMap. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);

System.out.println(map); // {a=1, b=2, c=3}

final var cloned = map.clone();
System.out.println(cloned); // {a=1, b=2, c=3}
System.out.println(cloned.getClass()); // class java.util.TreeMap

Comparator<? super K> comparator ()

Devuelve el comparador utilizado para ordenar las claves en este mapa, o null si este mapa utiliza el orden natural de sus claves. (Traducción automática)

final var map = new TreeMap<String, Integer>();
System.out.println(map); // {}

final var comparator = map.comparator();
System.out.println(comparator); // null
final var map = new TreeMap<String, Integer>(Comparator.reverseOrder());
System.out.println(map); // {}

final var comparator = map.comparator();
System.out.println(comparator.equals(Comparator.reverseOrder())); // true
final var map = new TreeMap<String, Integer>(String.CASE_INSENSITIVE_ORDER);
System.out.println(map); // {}

final var comparator = map.comparator();
System.out.println(comparator.equals(String.CASE_INSENSITIVE_ORDER)); // true

V compute (K key, BiFunction<? super K,? super V,? extends V> remappingFunction)

Intenta calcular una asignación para la clave especificada y su valor asignado actual, o nulo si no hay una asignación actual (operación opcional). (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
System.out.println(map); // {a=1, b=2, c=3}

final var func = new BiFunction<String, Integer, Integer>() {
    @Override
    public Integer apply(String key, Integer value) {
        if (value == null) {
            return -100;
        } else {
            return value * 10;
        }
    }
};

final var ret1 = map.compute("a", func);
System.out.println(ret1); // 10
System.out.println(map); // {a=10, b=2, c=3}

final var ret2 = map.compute("b", func);
System.out.println(ret2); // 20
System.out.println(map); // {a=10, b=20, c=3}

final var ret3 = map.compute("c", func);
System.out.println(ret3); // 30
System.out.println(map); // {a=10, b=20, c=30}

final var ret4 = map.compute("x", func);
System.out.println(ret4); // -100
System.out.println(map); // {a=10, b=20, c=30, x=-100}
final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
System.out.println(map); // {a=1, b=2, c=3}

final var ret = map.compute("b", (_, _) -> null);
System.out.println(ret); // null
System.out.println(map); // {a=1, c=3}

V computeIfAbsent (K key, Function<? super K,? extends V> mappingFunction)

Si la clave especificada aún no está asociada con un valor (o está asignada a nulo), intenta calcular su valor utilizando la función de asignación dada y la ingresa en este mapa a menos que sea nulo (operación opcional). (Traducción automática)

final var map = new TreeMap<String, String>();
map.put("a", "aaa");
map.put("b", "bbb");
System.out.println(map); // {a=aaa, b=bbb}

final var func = new Function<String, String>() {
    @Override
    public String apply(String key) {
        if ("c".equals(key)) {
            return "ccc";
        } else {
            return null;
        }
    }
};

final var ret1 = map.computeIfAbsent("a", func);
System.out.println(ret1); // aaa
System.out.println(map); // {a=aaa, b=bbb}

final var ret2 = map.computeIfAbsent("b", func);
System.out.println(ret2); // bbb
System.out.println(map); // {a=aaa, b=bbb}

final var ret3 = map.computeIfAbsent("c", func);
System.out.println(ret3); // ccc
System.out.println(map); // {a=aaa, b=bbb, c=ccc}

final var ret4 = map.computeIfAbsent("d", func);
System.out.println(ret4); // null
System.out.println(map); // {a=aaa, b=bbb, c=ccc}
final var map = new TreeMap<String, List<String>>();
System.out.println(map); // {}

map.computeIfAbsent("a", (_) -> new ArrayList<>()).add("a-1");
System.out.println(map); // {a=[a-1]}

map.computeIfAbsent("a", (_) -> new ArrayList<>()).add("a-2");
System.out.println(map); // {a=[a-1, a-2]}

map.computeIfAbsent("b", (_) -> new ArrayList<>()).add("b-1");
System.out.println(map); // {a=[a-1, a-2], b=[b-1]}

V computeIfPresent (K key, BiFunction<? super K,? super V,? extends V> remappingFunction)

Si el valor de la clave especificada está presente y no es nulo, intenta calcular una nueva asignación dada la clave y su valor asignado actual (operación opcional). (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
System.out.println(map); // {a=1, b=2, c=3}

final var func = new BiFunction<String, Integer, Integer>() {
    @Override
    public Integer apply(String key, Integer value) {
        return value * 10;
    }
};

final var ret1 = map.computeIfPresent("a", func);
System.out.println(ret1); // 10
System.out.println(map); // {a=10, b=2, c=3}

final var ret2 = map.computeIfPresent("b", func);
System.out.println(ret2); // 20
System.out.println(map); // {a=10, b=20, c=3}

final var ret3 = map.computeIfPresent("c", func);
System.out.println(ret3); // 30
System.out.println(map); // {a=10, b=20, c=30}

final var ret4 = map.computeIfPresent("X", func);
System.out.println(ret4); // null
System.out.println(map); // {a=10, b=20, c=30}
final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
System.out.println(map); // {a=1, b=2, c=3}

final var ret = map.computeIfPresent("b", (_, _) -> null);
System.out.println(ret); // null
System.out.println(map); // {a=1, c=3}

boolean containsKey (Object key)

Devuelve verdadero si este mapa contiene una asignación para la clave especificada. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);

System.out.println(map); // {a=1, b=2, c=3}

System.out.println(map.containsKey("a")); // true
System.out.println(map.containsKey("b")); // true
System.out.println(map.containsKey("c")); // true
System.out.println(map.containsKey("X")); // false
System.out.println(map.containsKey("")); // false

boolean containsValue (Object value)

Devuelve verdadero si este mapa asigna una o más claves al valor especificado. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
map.put("x", 3);

System.out.println(map); // {a=1, b=2, c=3, x=3}

System.out.println(map.containsValue(0)); // false
System.out.println(map.containsValue(1)); // true
System.out.println(map.containsValue(2)); // true
System.out.println(map.containsValue(3)); // true
System.out.println(map.containsValue(4)); // false

NavigableSet<K> descendingKeySet ()

Devuelve una vista NavigableSet en orden inverso de las claves contenidas en este mapa. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 10);
map.put("b", 20);
map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}

final var descKeys = map.descendingKeySet();
System.out.println(descKeys); // [c, b, a]

map.put("d", 40);

System.out.println(map); // {a=10, b=20, c=30, d=40}
System.out.println(descKeys); // [d, c, b, a]

descKeys.remove("b");

System.out.println(map); // {a=10, c=30, d=40}
System.out.println(descKeys); // [d, c, a]

NavigableMap<K,V> descendingMap ()

Devuelve una vista en orden inverso de las asignaciones contenidas en este mapa. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 10);
map.put("b", 20);
map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}

final var descMap = map.descendingMap();
System.out.println(descMap); // {c=30, b=20, a=10}

map.put("d", 40);

System.out.println(map); // {a=10, b=20, c=30, d=40}
System.out.println(descMap); // {d=40, c=30, b=20, a=10}

descMap.remove("b");

System.out.println(map); // {a=10, c=30, d=40}
System.out.println(descMap); // {d=40, c=30, a=10}

Set<Map.Entry<K,V>> entrySet ()

Devuelve una vista de conjunto de las asignaciones contenidas en este mapa. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
System.out.println(map); // {a=1, b=2, c=3}

final var entries = map.entrySet();
System.out.println(entries); // [a=1, b=2, c=3]

map.replace("b", 20);
System.out.println(map); // {a=1, b=20, c=3}
System.out.println(entries); // [a=1, b=20, c=3]

entries.remove(Map.entry("a", 1));
System.out.println(map); // {b=20, c=3}
System.out.println(entries); // [b=20, c=3]

for (final var entry : entries) {
    entry.setValue(entry.getValue() * 10);
}

System.out.println(map); // {b=200, c=30}
System.out.println(entries); // [b=200, c=30]

Map.Entry<K,V> firstEntry ()

Devuelve una asignación clave-valor asociada con la clave más pequeña en este mapa, o nulo si el mapa está vacío. (Traducción automática)

final var map = new TreeMap<String, Integer>();
System.out.println(map); // {}
System.out.println(map.firstEntry()); // null

map.put("b", 20);

System.out.println(map); // {b=20}
System.out.println(map.firstEntry()); // b=20

map.put("c", 30);

System.out.println(map); // {b=20, c=30}
System.out.println(map.firstEntry()); // b=20

map.put("a", 10);

System.out.println(map); // {a=10, b=20, c=30}
System.out.println(map.firstEntry()); // a=10

K firstKey ()

Devuelve la primera clave (la más baja) actualmente en este mapa. (Traducción automática)

final var map = new TreeMap<String, Integer>();
System.out.println(map); // {}

map.put("b", 20);

System.out.println(map); // {b=20}
System.out.println(map.firstKey()); // b

map.put("c", 30);

System.out.println(map); // {b=20, c=30}
System.out.println(map.firstKey()); // b

map.put("a", 10);

System.out.println(map); // {a=10, b=20, c=30}
System.out.println(map.firstKey()); // a
final var map = new TreeMap<String, Integer>();
System.out.println(map); // {}

try {
    map.firstKey();
} catch (NoSuchElementException e) {
    System.out.println(e);
}

// Result
// ↓
//java.util.NoSuchElementException

Map.Entry<K,V> floorEntry (K key)

Devuelve una asignación clave-valor asociada con la clave más grande menor o igual a la clave dada, o nula si no existe dicha clave. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("b", 10);
map.put("d", 20);
map.put("f", 30);

System.out.println(map); // {b=10, d=20, f=30}

System.out.println(map.floorEntry("a")); // null
System.out.println(map.floorEntry("b")); // b=10
System.out.println(map.floorEntry("c")); // b=10
System.out.println(map.floorEntry("d")); // d=20
System.out.println(map.floorEntry("e")); // d=20
System.out.println(map.floorEntry("f")); // f=30
System.out.println(map.floorEntry("g")); // f=30

K floorKey (K key)

Devuelve la clave más grande menor o igual a la clave dada, o nula si no existe dicha clave. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("b", 10);
map.put("d", 20);
map.put("f", 30);

System.out.println(map); // {b=10, d=20, f=30}

System.out.println(map.floorKey("a")); // null
System.out.println(map.floorKey("b")); // b
System.out.println(map.floorKey("c")); // b
System.out.println(map.floorKey("d")); // d
System.out.println(map.floorKey("e")); // d
System.out.println(map.floorKey("f")); // f
System.out.println(map.floorKey("g")); // f

V get (Object key)

Devuelve el valor al que está asignada la clave especificada, o nulo si este mapa no contiene ninguna asignación para la clave. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);

System.out.println(map); // {a=1, b=2, c=3}

System.out.println(map.get("a")); // 1
System.out.println(map.get("b")); // 2
System.out.println(map.get("c")); // 3
System.out.println(map.get("X")); // null
System.out.println(map.get("")); // null

SortedMap<K,V> headMap (K toKey)

Devuelve una vista de la parte de este mapa cuyas claves son estrictamente menores que toKey. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("x", 10);
map.put("y", 20);
map.put("z", 30);

System.out.println(map); // {x=10, y=20, z=30}

final var headMap = map.headMap("z");
System.out.println(headMap); // {x=10, y=20}

map.put("a", 40);

System.out.println(map); // {a=40, x=10, y=20, z=30}
System.out.println(headMap); // {a=40, x=10, y=20}

headMap.remove("x");

System.out.println(map); // {a=40, y=20, z=30}
System.out.println(headMap); // {a=40, y=20}
final var map = new TreeMap<String, Integer>();
map.put("a", 10);
map.put("b", 20);
map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}

System.out.println(map.headMap("a")); // {}
System.out.println(map.headMap("b")); // {a=10}
System.out.println(map.headMap("c")); // {a=10, b=20}
System.out.println(map.headMap("d")); // {a=10, b=20, c=30}

NavigableMap<K,V> headMap (K toKey, boolean inclusive)

Devuelve una vista de la parte de este mapa cuyas claves son menores que (o iguales a, si inclusive es verdadero) toKey. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("x", 10);
map.put("y", 20);
map.put("z", 30);

System.out.println(map); // {x=10, y=20, z=30}

final var headMap = map.headMap("y", true);
System.out.println(headMap); // {x=10, y=20}

map.put("a", 40);

System.out.println(map); // {a=40, x=10, y=20, z=30}
System.out.println(headMap); // {a=40, x=10, y=20}

headMap.remove("x");

System.out.println(map); // {a=40, y=20, z=30}
System.out.println(headMap); // {a=40, y=20}
final var map = new TreeMap<String, Integer>();
map.put("a", 10);
map.put("b", 20);
map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}

System.out.println(map.headMap("a")); // {}
System.out.println(map.headMap("a", true)); // {a=10}

System.out.println(map.headMap("b")); // {a=10}
System.out.println(map.headMap("b", true)); // {a=10, b=20}

System.out.println(map.headMap("c")); // {a=10, b=20}
System.out.println(map.headMap("c", true)); // {a=10, b=20, c=30}

System.out.println(map.headMap("d")); // {a=10, b=20, c=30}
System.out.println(map.headMap("d", true)); // {a=10, b=20, c=30}

Map.Entry<K,V> higherEntry (K key)

Devuelve una asignación clave-valor asociada con la clave menor estrictamente mayor que la clave dada, o nulo si no existe dicha clave. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("b", 10);
map.put("d", 20);
map.put("f", 30);

System.out.println(map); // {b=10, d=20, f=30}

System.out.println(map.higherEntry("a")); // b=10
System.out.println(map.higherEntry("b")); // d=20
System.out.println(map.higherEntry("c")); // d=20
System.out.println(map.higherEntry("d")); // f=30
System.out.println(map.higherEntry("e")); // f=30
System.out.println(map.higherEntry("f")); // null
System.out.println(map.higherEntry("g")); // null

K higherKey (K key)

Devuelve la clave menor estrictamente mayor que la clave dada, o nulo si no existe dicha clave. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("b", 10);
map.put("d", 20);
map.put("f", 30);

System.out.println(map); // {b=10, d=20, f=30}

System.out.println(map.higherKey("a")); // b
System.out.println(map.higherKey("b")); // d
System.out.println(map.higherKey("c")); // d
System.out.println(map.higherKey("d")); // f
System.out.println(map.higherKey("e")); // f
System.out.println(map.higherKey("f")); // null
System.out.println(map.higherKey("g")); // null

Set<K> keySet ()

Devuelve una vista de conjunto de las claves contenidas en este mapa. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
System.out.println(map); // {a=1, b=2, c=3}

final var keys = map.keySet();
System.out.println(keys); // [a, b, c]

map.put("d", 4);
System.out.println(map); // {a=1, b=2, c=3, d=4}
System.out.println(keys); // [a, b, c, d]

keys.remove("a");
System.out.println(map); // {b=2, c=3, d=4}
System.out.println(keys); // [b, c, d]

Map.Entry<K,V> lastEntry ()

Devuelve una asignación clave-valor asociada con la clave más grande en este mapa, o nulo si el mapa está vacío. (Traducción automática)

final var map = new TreeMap<String, Integer>();
System.out.println(map); // {}
System.out.println(map.lastEntry()); // null

map.put("b", 20);

System.out.println(map); // {b=20}
System.out.println(map.lastEntry()); // b=20

map.put("a", 10);

System.out.println(map); // {a=10, b=20}
System.out.println(map.lastEntry()); // b=20

map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}
System.out.println(map.lastEntry()); // c=30

K lastKey ()

Devuelve la última clave (la más alta) actualmente en este mapa. (Traducción automática)

final var map = new TreeMap<String, Integer>();
System.out.println(map); // {}

map.put("b", 20);

System.out.println(map); // {b=20}
System.out.println(map.lastKey()); // b

map.put("a", 10);

System.out.println(map); // {a=10, b=20}
System.out.println(map.lastKey()); // b

map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}
System.out.println(map.lastKey()); // c
final var map = new TreeMap<String, Integer>();
System.out.println(map); // {}

try {
    map.lastKey();
} catch (NoSuchElementException e) {
    System.out.println(e);
}

// Result
// ↓
//java.util.NoSuchElementException

Map.Entry<K,V> lowerEntry (K key)

Devuelve una asignación clave-valor asociada con la clave más grande estrictamente menor que la clave dada, o nulo si no existe dicha clave. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("b", 10);
map.put("d", 20);
map.put("f", 30);

System.out.println(map); // {b=10, d=20, f=30}

System.out.println(map.lowerEntry("a")); // null
System.out.println(map.lowerEntry("b")); // null
System.out.println(map.lowerEntry("c")); // b=10
System.out.println(map.lowerEntry("d")); // b=10
System.out.println(map.lowerEntry("e")); // d=20
System.out.println(map.lowerEntry("f")); // d=20
System.out.println(map.lowerEntry("g")); // f=30

K lowerKey (K key)

Devuelve la clave más grande estrictamente menor que la clave dada, o nulo si no existe dicha clave. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("b", 10);
map.put("d", 20);
map.put("f", 30);

System.out.println(map); // {b=10, d=20, f=30}

System.out.println(map.lowerKey("a")); // null
System.out.println(map.lowerKey("b")); // null
System.out.println(map.lowerKey("c")); // b
System.out.println(map.lowerKey("d")); // b
System.out.println(map.lowerKey("e")); // d
System.out.println(map.lowerKey("f")); // d
System.out.println(map.lowerKey("g")); // f

V merge (K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)

Si la clave especificada aún no está asociada con un valor o está asociada con un valor nulo, la asocia con el valor no nulo dado (operación opcional). (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
System.out.println(map); // {a=1, b=2, c=3}

final var func = new BiFunction<Integer, Integer, Integer>() {
    @Override
    public Integer apply(Integer oldValue, Integer newValue) {
        return oldValue + newValue;
    }
};

final var ret1 = map.merge("a", 1000, func);
System.out.println(ret1); // 1001
System.out.println(map); // {a=1001, b=2, c=3}

final var ret2 = map.merge("b", 1000, func);
System.out.println(ret2); // 1002
System.out.println(map); // {a=1001, b=1002, c=3}

final var ret3 = map.merge("c", 1000, func);
System.out.println(ret3); // 1003
System.out.println(map); // {a=1001, b=1002, c=1003}

final var ret4 = map.merge("d", 1000, func);
System.out.println(ret4); // 1000
System.out.println(map); // {a=1001, b=1002, c=1003, d=1000}

final var ret5 = map.merge("b", 1000, (_, _) -> null);
System.out.println(ret5); // null
System.out.println(map); // {a=1001, c=1003, d=1000}

Map.Entry<K,V> pollFirstEntry ()

Elimina y devuelve una asignación clave-valor asociada con la clave más pequeña en este mapa, o nulo si el mapa está vacío (operación opcional). (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 10);
map.put("b", 20);
map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}

System.out.println(map.pollFirstEntry()); // a=10
System.out.println(map); // {b=20, c=30}

System.out.println(map.pollFirstEntry()); // b=20
System.out.println(map); // {c=30}

System.out.println(map.pollFirstEntry()); // c=30
System.out.println(map); // {}

System.out.println(map.pollFirstEntry()); // null

Map.Entry<K,V> pollLastEntry ()

Elimina y devuelve una asignación clave-valor asociada con la clave más grande en este mapa, o nulo si el mapa está vacío (operación opcional). (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 10);
map.put("b", 20);
map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}

System.out.println(map.pollLastEntry()); // c=30
System.out.println(map); // {a=10, b=20}

System.out.println(map.pollLastEntry()); // b=20
System.out.println(map); // {a=10}

System.out.println(map.pollLastEntry()); // a=10
System.out.println(map); // {}

System.out.println(map.pollLastEntry()); // null

V put (K key, V value)

Asocia el valor especificado con la clave especificada en este mapa. (Traducción automática)

final var map = new TreeMap<String, Integer>();
System.out.println(map); // {}

System.out.println(map.put("a", 1)); // null
System.out.println(map); // {a=1}

System.out.println(map.put("b", 2)); // null
System.out.println(map); // {a=1, b=2}

System.out.println(map.put("c", 3)); // null
System.out.println(map); // {a=1, b=2, c=3}

System.out.println(map.put("a", 999)); // 1
System.out.println(map); // {a=999, b=2, c=3}

void putAll (Map<? extends K,? extends V> map)

Copia todas las asignaciones del mapa especificado a este mapa. (Traducción automática)

final var map = new TreeMap<String, Integer>();
System.out.println(map); // {}

map.putAll(Map.of());
System.out.println(map); // {}

map.putAll(Map.of("a", 1, "b", 2));
System.out.println(map); // {a=1, b=2}

map.putAll(Map.of("c", 3, "d", 4, "e", 5));
System.out.println(map); // {a=1, b=2, c=3, d=4, e=5}

map.putAll(Map.of("a", 901, "b", 902, "z", 100));
System.out.println(map);  // {a=901, b=902, c=3, d=4, e=5, z=100}

V putFirst (K k, V v)

Lanza una excepción UnsupportedOperationException. (Traducción automática)

final var map = new TreeMap<String, Integer>();
System.out.println(map); // {}

try {
    map.putFirst("a", 1);
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

V putLast (K k, V v)

Lanza una excepción UnsupportedOperationException. (Traducción automática)

final var map = new TreeMap<String, Integer>();
System.out.println(map); // {}

try {
    map.putLast("a", 1);
} catch (UnsupportedOperationException e) {
    System.out.println("UnsupportedOperationException!");
}

// Result
// ↓
//UnsupportedOperationException!

V remove (Object key)

Elimina la asignación de esta clave de este TreeMap si está presente. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
System.out.println(map); // {a=1, b=2, c=3}

System.out.println(map.remove("b")); // 2
System.out.println(map); // {a=1, c=3}

System.out.println(map.remove("z")); // null
System.out.println(map); // {a=1, c=3}

int size ()

Devuelve el número de asignaciones clave-valor en este mapa. (Traducción automática)

final var map = new TreeMap<String, Integer>();

System.out.println(map); // {}
System.out.println(map.size()); // 0

map.put("a", 1);
System.out.println(map); // {a=1}
System.out.println(map.size()); // 1

map.put("b", 2);
System.out.println(map); // {a=1, b=2}
System.out.println(map.size()); // 2

map.put("c", 3);
System.out.println(map); // {a=1, b=2, c=3}
System.out.println(map.size()); // 3

NavigableMap<K,V> subMap (K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)

Devuelve una vista de la parte de este mapa cuyas claves van desde fromKey hasta toKey. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("x", 10);
map.put("y", 20);
map.put("z", 30);

System.out.println(map); // {x=10, y=20, z=30}

final var subMap = map.subMap("a", true, "y", true);
System.out.println(subMap); // {x=10, y=20}

map.put("a", 40);

System.out.println(map); // {a=40, x=10, y=20, z=30}
System.out.println(subMap); // {a=40, x=10, y=20}

subMap.remove("x");

System.out.println(map); // {a=40, y=20, z=30}
System.out.println(subMap); // {a=40, y=20}
final var map = new TreeMap<String, Integer>();
map.put("a", 10);
map.put("b", 20);
map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}

System.out.println(map.subMap("a", true, "c", true)); // {a=10, b=20, c=30}
System.out.println(map.subMap("a", true, "c", false)); // {a=10, b=20}
System.out.println(map.subMap("a", false, "c", true)); // {b=20, c=30}
System.out.println(map.subMap("a", false, "c", false)); // {b=20}

System.out.println(map.subMap("a", true, "a", false)); // {}
System.out.println(map.subMap("a", true, "b", false)); // {a=10}
System.out.println(map.subMap("a", true, "c", false)); // {a=10, b=20}
System.out.println(map.subMap("a", true, "d", false)); // {a=10, b=20, c=30}

System.out.println(map.subMap("a", true, "d", false)); // {a=10, b=20, c=30}
System.out.println(map.subMap("b", true, "d", false)); // {b=20, c=30}
System.out.println(map.subMap("c", true, "d", false)); // {c=30}
System.out.println(map.subMap("d", true, "d", false)); // {}

SortedMap<K,V> subMap (K fromKey, K toKey)

Devuelve una vista de la parte de este mapa cuyas claves van desde fromKey, inclusive, hasta toKey, exclusivo. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("x", 10);
map.put("y", 20);
map.put("z", 30);

System.out.println(map); // {x=10, y=20, z=30}

final var subMap = map.subMap("a", "z");
System.out.println(subMap); // {x=10, y=20}

map.put("a", 40);

System.out.println(map); // {a=40, x=10, y=20, z=30}
System.out.println(subMap); // {a=40, x=10, y=20}

subMap.remove("x");

System.out.println(map); // {a=40, y=20, z=30}
System.out.println(subMap); // {a=40, y=20}
final var map = new TreeMap<String, Integer>();
map.put("a", 10);
map.put("b", 20);
map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}

System.out.println(map.subMap("a", "a")); // {}
System.out.println(map.subMap("a", "b")); // {a=10}
System.out.println(map.subMap("a", "c")); // {a=10, b=20}
System.out.println(map.subMap("a", "d")); // {a=10, b=20, c=30}

System.out.println(map.subMap("a", "d")); // {a=10, b=20, c=30}
System.out.println(map.subMap("b", "d")); // {b=20, c=30}
System.out.println(map.subMap("c", "d")); // {c=30}
System.out.println(map.subMap("d", "d")); // {}

SortedMap<K,V> tailMap (K fromKey)

Devuelve una vista de la parte de este mapa cuyas claves son mayores o iguales que fromKey. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 10);
map.put("b", 20);
map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}

final var tailMap = map.tailMap("b");
System.out.println(tailMap); // {b=20, c=30}

map.put("d", 40);

System.out.println(map); // {a=10, b=20, c=30, d=40}
System.out.println(tailMap); // {b=20, c=30, d=40}

tailMap.remove("b");

System.out.println(map); // {a=10, c=30, d=40}
System.out.println(tailMap); // {c=30, d=40}
final var map = new TreeMap<String, Integer>();
map.put("a", 10);
map.put("b", 20);
map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}

System.out.println(map.tailMap("a")); // {a=10, b=20, c=30}
System.out.println(map.tailMap("b")); // {b=20, c=30}
System.out.println(map.tailMap("c")); // {c=30}
System.out.println(map.tailMap("d")); // {}

NavigableMap<K,V> tailMap (K fromKey, boolean inclusive)

Devuelve una vista de la parte de este mapa cuyas claves son mayores que (o iguales a, si inclusive es verdadero) fromKey. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 10);
map.put("b", 20);
map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}

final var tailMap = map.tailMap("a", false);
System.out.println(tailMap); // {b=20, c=30}

map.put("d", 40);

System.out.println(map); // {a=10, b=20, c=30, d=40}
System.out.println(tailMap); // {b=20, c=30, d=40}

tailMap.remove("b");

System.out.println(map); // {a=10, c=30, d=40}
System.out.println(tailMap); // {c=30, d=40}
final var map = new TreeMap<String, Integer>();
map.put("a", 10);
map.put("b", 20);
map.put("c", 30);

System.out.println(map); // {a=10, b=20, c=30}

System.out.println(map.tailMap("a")); // {a=10, b=20, c=30}
System.out.println(map.tailMap("a", false)); // {b=20, c=30}

System.out.println(map.tailMap("b")); // {b=20, c=30}
System.out.println(map.tailMap("b", false)); // {c=30}

System.out.println(map.tailMap("c")); // {c=30}
System.out.println(map.tailMap("c", false)); // {}

Collection<V> values ()

Devuelve una vista de colección de los valores contenidos en este mapa. (Traducción automática)

final var map = new TreeMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
System.out.println(map); // {a=1, b=2, c=3}

final var values = map.values();
System.out.println(values); // [1, 2, 3]

map.replace("b", 20);
System.out.println(map); // {a=1, b=20, c=3}
System.out.println(values); // [1, 20, 3]

values.remove(1);
System.out.println(map); // {b=20, c=3}
System.out.println(values); // [20, 3]

//values.add(4); // UnsupportedOperationException

Methods declared in AbstractMap

equals, hashCode, isEmpty, toString

Consulte el siguiente enlace.

Methods declared in Map

equals, forEach, getOrDefault, hashCode, isEmpty, putIfAbsent, remove, replace, replace, replaceAll

Consulte el siguiente enlace.

Methods declared in NavigableMap

reversed

Consulte el siguiente enlace.

Methods declared in SequencedMap

sequencedEntrySet, sequencedKeySet, sequencedValues

Consulte el siguiente enlace.


Related posts

To top of page