Sobes.tech
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

  1. forEach(BiConsumer<? super K, ? super V> action): Provádí zadanou akci pro každou dvojici klíč-hodnota v Mapě.
  2. replaceAll(BiFunction<? super K, ? super V, ? extends V> function): Nahrazuje každou hodnotu v Mapě výsledkem aplikace function na její klíč a aktuální hodnotu.
  3. 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í.
  4. computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction): Pokud zadaný klíč ještě není spojen s hodnotou (nebo je spojen s null), pokouší se vypočítat jeho hodnotu pomocí dané funkce mapování a vložit ji do Mapy, pokud není null.
  5. computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): Pokud je zadaný klíč již spojen s hodnotou (ne null), pokouší se vypočítat nové přiřazení pomocí dané funkce přemapování.
  6. 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.
  7. putIfAbsent(K key, V value): Pokud zadaný klíč ještě není spojen s hodnotou (nebo je spojen s null), spojí jej s danou hodnotou a vrátí null, jinak vrátí aktuální spojenou hodnotu.
  8. remove(Object key, Object value): Odstraní záznam pro zadaný klíč pouze pokud je aktuálně spojen s danou hodnotou.
  9. replace(K key, V oldValue, V newValue): Nahradí záznam pro zadaný klíč pouze pokud je aktuálně spojen s hodnotou oldValue.
  10. 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ů.