Java : Map with Examples

Map (Java SE 20 & JDK 20) API Examples.
You will find code examples on most Map 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).

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", (key, value) -> 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.

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", (key) -> new ArrayList<>()).add("a-1");
System.out.println(map); // {a=[a-1]}

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

map.computeIfAbsent("b", (key) -> 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.

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", (k, v) -> 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.println("key = %s : value = %d".formatted(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.

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, (k, v) -> 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.

Please see entry(K k, V v).

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.

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.

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.

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.

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.

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((k, 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((k, 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((k, v) -> 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