Sobes.tech
Middle

Kokie papildomi metodai atsitiktinių masyvų (Map kolekcijos) darbui pasirodė Java 8?

sobes.tech AI

Atsakymas iš AI

  1. forEach(BiConsumer<? super K, ? super V> action): Atlieka nurodytą action kiekvienai raktų-vertės porai Map.
  2. replaceAll(BiFunction<? super K, ? super V, ? extends V> function): Pakeičia kiekvieną Map reikšmę rezultatu, taikant function pagal jos raktą ir dabartinę reikšmę.
  3. compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): bando apskaičiuoti nurodyto rakto žemėlapį naudodamas perrašymo funkciją.
  4. computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction): Jei nurodytas raktas dar nėra susietas su reikšme (arba susietas su null), bando apskaičiuoti jo reikšmę naudodamas nurodytą žemėlapių funkciją ir, jei ji nėra null, įrašo ją į Map.
  5. computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): Jei nurodytas raktas jau susietas su reikšme (ne null), bando apskaičiuoti naują žemėlapį naudodamas nurodytą perrašymo funkciją.
  6. merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction): Jei nurodytas raktas dar nėra susietas su reikšme, susieja jį su nurodyta reikšme. Jei jau susietas, pakeičia susietą reikšmę rezultatu, gautu taikant perrašymo funkciją prie dabartinės ir nurodytos reikšmės.
  7. putIfAbsent(K key, V value): Jei nurodytas raktas dar nėra susietas su reikšme (arba susietas su null), susieja jį su nurodyta reikšme ir grąžina null, kitaip grąžina esamą susietą reikšmę.
  8. remove(Object key, Object value): Pašalina įrašą pagal nurodytą raktą, tik jei jis šiuo metu susietas su nurodyta reikšme.
  9. replace(K key, V oldValue, V newValue): Pakeičia įrašą pagal nurodytą raktą, tik jei jis šiuo metu susietas su oldValue.
  10. replace(K key, V value): Pakeičia įrašą pagal nurodytą raktą, tik jei jis šiuo metu susietas su reikšme.

Šie metodai palengvina darbą su Map, leidžia atlikti atominius veiksmus ir naudoti lambda išraiškas lankstesniam elementų apdorojimui.