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
forEach(BiConsumer<? super K, ? super V> action): Vykonáva zadanúakciupre každú dvojicu kľúč-hodnota v Map.replaceAll(BiFunction<? super K, ? super V, ? extends V> function): Nahradí každú hodnotu v Map výsledkom aplikáciefunctionna jej kľúč a aktuálnu hodnotu.compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): Pokúša sa vypočítať mapovanie pre zadaný kľúč pomocou danej funkcie preprekreslenia.computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction): Ak zadaný kľúč ešte nie je spojený s hodnotou (alebo je spojený snull), pokúša sa vypočítať jeho hodnotu pomocou danej funkcie premapovania a vložiť ju do Mapy, ak nie jenull.computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): Ak je zadaný kľúč už spojený s hodnotou (nienull), pokúša sa vypočítať nové mapovanie pomocou danej funkcie preprekreslenia.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.putIfAbsent(K key, V value): Ak je zadaný kľúč ešte nespojený s hodnotou (alebo je spojený snull), spojí ho s danou hodnotou a vrátinull, inak vráti aktuálnu spojenú hodnotu.remove(Object key, Object value): Odstráni záznam pre zadaný kľúč iba ak je v súčasnosti spojený so zadanou hodnotou.replace(K key, V oldValue, V newValue): Nahradí záznam pre zadaný kľúč iba ak je v súčasnosti spojený s hodnotouoldValue.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.