Java : Map with Examples

Map (Java SE 23 & JDK 23) in Java with Examples.
You will find code samples for most of the Map<K,V> methods.


Summary

An object that maps keys to values. A map cannot contain duplicate keys; each key can map to at most one value.

Class diagram

final Map<String, Integer> map = new HashMap<>();
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}

Methods

void clear ()

Removes all of the mappings from this map (optional operation).

final Map<String, Integer> map = new HashMap<>();
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

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

Attempts to compute a mapping for the specified key and its current mapped value, or null if there is no current mapping (optional operation).

final Map<String, Integer> map = new HashMap<>();
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 Map<String, Integer> map = new HashMap<>();
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}

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

If the specified key is not already associated with a value (or is mapped to null), attempts to compute its value using the given mapping function and enters it into this map unless null (optional operation).

final Map<String, String> map = new HashMap<>();
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 Map<String, List<String>> map = new HashMap<>();
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]}

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

If the value for the specified key is present and non-null, attempts to compute a new mapping given the key and its current mapped value (optional operation).

final Map<String, Integer> map = new HashMap<>();
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 Map<String, Integer> map = new HashMap<>();
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)

Returns true if this map contains a mapping for the specified key.

final var map = Map.of("a", 1, "b", 2, "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)

Returns true if this map maps one or more keys to the specified value.

final var map = Map.of("a", 1, "b", 2, "c", 3, "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

static <K, V> Map<K,V> copyOf (Map<? extends K,? extends V> map)

Returns an unmodifiable Map containing the entries of the given Map.

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

final var copiedMap = Map.copyOf(map);
System.out.println(copiedMap); // {a=1, b=2, c=3}
System.out.println(map.equals(copiedMap)); // true

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

//copiedMap.put("d", 4); // UnsupportedOperationException
//copiedMap.clear(); // UnsupportedOperationException

static <K, V> Map.Entry<K,V> entry (K k, V v)

Returns an unmodifiable Map.Entry containing the given key and value.

final var entry1 = Map.entry("a", 1);
System.out.println(entry1); // a=1

//entry1.setValue(5); // UnsupportedOperationException

final var entry2 = Map.entry("b", 2);
System.out.println(entry2); // b=2

final var entry3 = Map.entry("c", 3);
System.out.println(entry3); // c=3

final var map = Map.ofEntries(entry1, entry2, entry3);
System.out.println(map); // {a=1, b=2, c=3}

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

Returns a Set view of the mappings contained in this map.

final Map<String, Integer> map = new HashMap<>();
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]

boolean equals (Object o)

Compares the specified object with this map for equality.

final var map1 = Map.of("a", 1, "b", 2, "c", 3);
final var map2 = Map.of("a", 1, "b", 2, "c", 3);

final var map3 = Map.of("A", 1, "B", 2, "C", 3);
final var map4 = Map.of("a", 10, "b", 20, "c", 30);

System.out.println(map1.equals(map2)); // true
System.out.println(map1.equals(map3)); // false
System.out.println(map1.equals(map4)); // false

default void forEach (BiConsumer<? super K,? super V> action)

Performs the given action for each entry in this map until all entries have been processed or the action throws an exception.

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

map.forEach((key, value) -> {
    System.out.printf("key = %s : value = %d%n", key, value);
});

// Result
// ↓
//key = a : value = 1
//key = b : value = 2
//key = c : value = 3

V get (Object key)

Returns the value to which the specified key is mapped, or null if this map contains no mapping for the key.

final var map = Map.of("a", 1, "b", 2, "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

default V getOrDefault (Object key, V defaultValue)

Returns the value to which the specified key is mapped, or defaultValue if this map contains no mapping for the key.

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

System.out.println(map.getOrDefault("a", 10)); // 1
System.out.println(map.getOrDefault("b", 20)); // 2
System.out.println(map.getOrDefault("c", 30)); // 3
System.out.println(map.getOrDefault("X", 40)); // 40
System.out.println(map.getOrDefault("", 50)); // 50

int hashCode ()

Returns the hash code value for this map.

final var map1 = Map.of();
System.out.println(map1); // {}
System.out.println(map1.hashCode()); // 0

final var map2 = Map.of("a", 1, "b", 2);
System.out.println(map2); // {a=1, b=2}
System.out.println(map2.hashCode()); // 192

final var map3 = Map.of("A", 1, "B", 2);
System.out.println(map3); // {A=1, B=2}
System.out.println(map3.hashCode()); // 128

final var map4 = Map.of("a", 10, "b", 20);
System.out.println(map4); // {a=10, b=20}
System.out.println(map4.hashCode()); // 225

boolean isEmpty ()

Returns true if this map contains no key-value mappings.

final Map<String, Integer> map = new HashMap<>();
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
System.out.println(map.isEmpty()); // false

map.clear();

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

Set<K> keySet ()

Returns a Set view of the keys contained in this map.

final Map<String, Integer> map = new HashMap<>();
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]

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

If the specified key is not already associated with a value or is associated with null, associates it with the given non-null value (optional operation).

final Map<String, Integer> map = new HashMap<>();
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}

static <K, V> Map<K,V> of ()

Returns an unmodifiable map containing zero mappings.

final var map = Map.of();
System.out.println(map); // {}
System.out.println(map.size()); // 0

//map.put("z", 999); // UnsupportedOperationException

static <K, V> Map<K,V> of (K k1, V v1)

Returns an unmodifiable map containing a single mapping.

final var map = Map.of("a", 1);
System.out.println(map); // {a=1}
System.out.println(map.size()); // 1

//map.put("z", 999); // UnsupportedOperationException

static <K, V> Map<K,V> of (K k1, V v1, K k2, V v2)

Returns an unmodifiable map containing two mappings.

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

//map.put("z", 999); // UnsupportedOperationException

static <K, V> Map<K,V> of (K k1, V v1, K k2, V v2, K k3, V v3)

Returns an unmodifiable map containing three mappings.

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

//map.put("z", 999); // UnsupportedOperationException

static <K, V> Map<K,V> of (K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4)

Returns an unmodifiable map containing four mappings.

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

//map.put("z", 999); // UnsupportedOperationException

static <K, V> Map<K,V> of (K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5)

Returns an unmodifiable map containing five mappings.

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

//map.put("z", 999); // UnsupportedOperationException

static <K, V> Map<K,V> of (K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6)

Returns an unmodifiable map containing six mappings.

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

//map.put("z", 999); // UnsupportedOperationException

static <K, V> Map<K,V> of (K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7)

Returns an unmodifiable map containing seven mappings.

final var map = Map.of("a", 1, "b", 2, "c", 3, "d", 4, "e", 5,
        "f", 6, "g", 7);
System.out.println(map); // {g=7, a=1, b=2, c=3, d=4, e=5, f=6}
System.out.println(map.size()); // 7

//map.put("z", 999); // UnsupportedOperationException

static <K, V> Map<K,V> of (K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8)

Returns an unmodifiable map containing eight mappings.

final var map = Map.of("a", 1, "b", 2, "c", 3, "d", 4, "e", 5,
        "f", 6, "g", 7, "h", 8);
System.out.println(map); // {a=1, h=8, g=7, f=6, e=5, d=4, c=3, b=2}
System.out.println(map.size()); // 8

//map.put("z", 999); // UnsupportedOperationException

static <K, V> Map<K,V> of (K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9)

Returns an unmodifiable map containing nine mappings.

final var map = Map.of("a", 1, "b", 2, "c", 3, "d", 4, "e", 5,
        "f", 6, "g", 7, "h", 8, "i", 9);
System.out.println(map); // {c=3, d=4, e=5, f=6, g=7, h=8, i=9, a=1, b=2}
System.out.println(map.size()); // 9

//map.put("z", 999); // UnsupportedOperationException

static <K, V> Map<K,V> of (K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9, K k10, V v10)

Returns an unmodifiable map containing ten mappings.

final var map = Map.of("a", 1, "b", 2, "c", 3, "d", 4, "e", 5,
        "f", 6, "g", 7, "h", 8, "i", 9, "j", 10);
System.out.println(map); // {d=4, e=5, f=6, g=7, h=8, i=9, j=10, a=1, b=2, c=3}
System.out.println(map.size()); // 10

//map.put("z", 999); // UnsupportedOperationException

static <K, V> Map<K,V> ofEntries (Map.Entry<? extends K,? extends V>... entries)

Returns an unmodifiable map containing keys and values extracted from the given entries.

final var entry1 = Map.entry("a", 1);
System.out.println(entry1); // a=1

//entry1.setValue(5); // UnsupportedOperationException

final var entry2 = Map.entry("b", 2);
System.out.println(entry2); // b=2

final var entry3 = Map.entry("c", 3);
System.out.println(entry3); // c=3

final var map = Map.ofEntries(entry1, entry2, entry3);
System.out.println(map); // {a=1, b=2, c=3}

V put (K key, V value)

Associates the specified value with the specified key in this map (optional operation).

final Map<String, Integer> map = new HashMap<>();
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> m)

Copies all of the mappings from the specified map to this map (optional operation).

final Map<String, Integer> map = new HashMap<>();
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, z=100, c=3, d=4, e=5}

default V putIfAbsent (K key, V value)

If the specified key is not already associated with a value (or is mapped to null) associates it with the given value and returns null, else returns the current value (optional operation).

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

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

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

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

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

V remove (Object key)

Removes the mapping for a key from this map if it is present (optional operation).

final Map<String, Integer> map = new HashMap<>();
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}

default boolean remove (Object key, Object value)

Removes the entry for the specified key only if it is currently mapped to the specified value (optional operation).

final Map<String, Integer> map = new HashMap<>();
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("a", 1)); // true
System.out.println(map); // {b=2, c=3}

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

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

System.out.println(map.remove("C", 3)); // false
System.out.println(map); // {c=3}

System.out.println(map.remove("d", 4)); // false
System.out.println(map); // {c=3}

default V replace (K key, V value)

Replaces the entry for the specified key only if it is currently mapped to some value (optional operation).

final Map<String, Integer> map = new HashMap<>();
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.replace("a", 10)); // 1
System.out.println(map); // {a=10, b=2, c=3}

System.out.println(map.replace("b", 20)); // 2
System.out.println(map); // {a=10, b=20, c=3}

System.out.println(map.replace("z", 99)); // null
System.out.println(map); // {a=10, b=20, c=3}

default boolean replace (K key, V oldValue, V newValue)

Replaces the entry for the specified key only if currently mapped to the specified value (optional operation).

final Map<String, Integer> map = new HashMap<>();
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.replace("a", 1, 10)); // true
System.out.println(map); // {a=10, b=2, c=3}

System.out.println(map.replace("b", 999, 20)); // false
System.out.println(map); // {a=10, b=2, c=3}

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

System.out.println(map.replace("z", 3, 999)); // false
System.out.println(map); // {a=10, b=20, c=3}

default void replaceAll (BiFunction<? super K,? super V,? extends V> function)

Replaces each entry's value with the result of invoking the given function on that entry until all entries have been processed or the function throws an exception (optional operation).

final var src = Map.of("a", 1, "b", 2, "c", 3);

{
    final Map<String, Integer> map = new HashMap<>(src);
    System.out.println(map); // {a=1, b=2, c=3}

    map.replaceAll((_, v) -> v * 10);
    System.out.println(map); // {a=10, b=20, c=30}
}
{
    final Map<String, Integer> map = new HashMap<>(src);
    System.out.println(map); // {a=1, b=2, c=3}

    map.replaceAll((k, v) -> {
        if (k.equals("a")) {
            return v * 1000;
        } else {
            return v * 10;
        }
    });
    System.out.println(map); // {a=1000, b=20, c=30}
}
{
    final Map<String, Integer> map = new HashMap<>(src);
    System.out.println(map); // {a=1, b=2, c=3}

    map.replaceAll((_, v) -> {
        if (v == 2) {
            return v * 1000;
        } else {
            return v * 10;
        }
    });
    System.out.println(map); // {a=10, b=2000, c=30}
}
{
    final Map<String, Integer> map = new HashMap<>(src);
    System.out.println(map); // {a=1, b=2, c=3}

    map.replaceAll((_, _) -> null);
    System.out.println(map); // {a=null, b=null, c=null}
}

int size ()

Returns the number of key-value mappings in this map.

final Map<String, Integer> map = new HashMap<>();

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

Collection<V> values ()

Returns a Collection view of the values contained in this map.

final Map<String, Integer> map = new HashMap<>();
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

Related posts

To top of page