Sobes.tech
Middle

Aké ďalšie metódy na prácu s asociatívnymi poľami (kolekcia Map) sa objavili v Java 8?

sobes.tech AI

Odpoveď od AI

  1. forEach(BiConsumer<? super K, ? super V> action): Vykonáva zadanú akciu pre každú dvojicu kľúč-hodnota v Map.
  2. replaceAll(BiFunction<? super K, ? super V, ? extends V> function): Nahradí každú hodnotu v Map výsledkom aplikácie function na jej kľúč a aktuálnu hodnotu.
  3. compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): Pokúša sa vypočítať mapovanie pre zadaný kľúč pomocou danej funkcie preprekreslenia.
  4. computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction): Ak zadaný kľúč ešte nie je spojený s hodnotou (alebo je spojený s null), pokúša sa vypočítať jeho hodnotu pomocou danej funkcie premapovania a vložiť ju do Mapy, ak nie je null.
  5. computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): Ak je zadaný kľúč už spojený s hodnotou (nie null), pokúša sa vypočítať nové mapovanie pomocou danej funkcie preprekreslenia.
  6. merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction): Ak je zadaný kľúč ešte nespojený s hodnotou, spojí ho s danou nenulovou hodnotou. Inak nahradí aktuálnu hodnotu výsledkom aplikácie funkcie preprekreslenia na aktuálnu hodnotu a danú hodnotu.
  7. putIfAbsent(K key, V value): Ak je zadaný kľúč ešte nespojený s hodnotou (alebo je spojený s null), spojí ho s danou hodnotou a vráti null, inak vráti aktuálnu spojenú hodnotu.
  8. remove(Object key, Object value): Odstráni záznam pre zadaný kľúč iba ak je v súčasnosti spojený so zadanou hodnotou.
  9. replace(K key, V oldValue, V newValue): Nahradí záznam pre zadaný kľúč iba ak je v súčasnosti spojený s hodnotou oldValue.
  10. replace(K key, V value): Nahradí záznam pre zadaný kľúč iba ak je v súčasnosti spojený s nejakou hodnotou.

Tieto metódy uľahčujú prácu s Mapou, umožňujú vykonávať atomické operácie a používať lambda výrazy pre flexibilnejšie spracovanie prvkov.