Middle
189
Jaké další metody pro práci s asociativními poli (kolekce Map) se objevily v Java 8?
Odpověď od AI
sobes.tech AI
forEach(BiConsumer<? super K, ? super V> action): Provádí zadanouakcipro každou dvojici klíč-hodnota v Mapě.replaceAll(BiFunction<? super K, ? super V, ? extends V> function): Nahrazuje každou hodnotu v Mapě výsledkem aplikacefunctionna její klíč a aktuální hodnotu.compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): Pokouší se vypočítat mapování pro zadaný klíč pomocí dané funkce přemapování.computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction): Pokud zadaný klíč ještě není spojen s hodnotou (nebo je spojen snull), pokouší se vypočítat jeho hodnotu pomocí dané funkce mapování a vložit ji do Mapy, pokud nenínull.computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): Pokud je zadaný klíč již spojen s hodnotou (nenull), pokouší se vypočítat nové přiřazení pomocí dané funkce přemapování.merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction): Pokud zadaný klíč ještě není spojen s hodnotou, spojí jej s danou nenulovou hodnotou. Jinak nahradí aktuální hodnotu výsledkem aplikace funkce přemapování na aktuální hodnotu a danou hodnotu.putIfAbsent(K key, V value): Pokud zadaný klíč ještě není spojen s hodnotou (nebo je spojen snull), spojí jej s danou hodnotou a vrátínull, jinak vrátí aktuální spojenou hodnotu.remove(Object key, Object value): Odstraní záznam pro zadaný klíč pouze pokud je aktuálně spojen s danou hodnotou.replace(K key, V oldValue, V newValue): Nahradí záznam pro zadaný klíč pouze pokud je aktuálně spojen s hodnotouoldValue.replace(K key, V value): Nahradí záznam pro zadaný klíč pouze pokud je aktuálně spojen s nějakou hodnotou.
Tyto metody usnadňují práci s Mapou, umožňují provádět atomické operace a používat lambda výrazy pro flexibilnější zpracování prvků.