Найти в Дзене
DEBAGanov

Java 1146. Какие дополнительные методы для работы с ассоциативными массивами (maps) появились в Java 8

В Java 8 для работы с ассоциативными массивами (maps) был добавлен ряд дополнительных методов: Пример использования методов для Map в Java 8: Map<String, Integer> map = new HashMap<>();
map.put("key1", 1);
map.put("key2", 2);
// forEach method map.forEach((key, value) -> System.out.println(key + " " + value));
// replace method map.replace("key1", 1, 100);
// replaceAll method map.replaceAll((key, oldValue) -> oldValue + 10);
// compute method map.compute("key2", (key, value) -> value * 2);
// computeIfAbsent method map.computeIfAbsent("key3", key -> 3);
// computeIfPresent method map.computeIfPresent("key2", (key, value) -> value * 2); 1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions Tелеграмм канал: https://t.me/DEBAGanov Мое резюме: https://github.com/DEBAGanov

В Java 8 для работы с ассоциативными массивами (maps) был добавлен ряд дополнительных методов:

  • forEach() - позволяет выполнять заданное действие для каждой пары ключ-значение в мапе.
  • replace(key, oldValue, newValue) - заменяет значение oldValue на newValue для заданного ключа key, только если oldValue соответствует текущему значению ключа.
  • replaceAll() - заменяет каждое значение в мапе используя определенную функцию.
  • compute() - позволяет вычислить новое значение для заданного ключа, и заменить старое значением новым вычисленным значением.
  • computeIfAbsent() - позволяет вычислить новое значение для заданного ключа, только если заданный ключ отсутствует в мапе.
  • computeIfPresent() - позволяет вычислить новое значение для заданного ключа, только если заданный ключ присутствует в мапе.
  • merge() - выполняет объединение двух мап с определенной функцией, когда ключ встречается в двух мапах.

Пример использования методов для Map в Java 8:

Map<String, Integer> map = new HashMap<>();
map.put("key1", 1);
map.put("key2", 2);

// forEach method
map.forEach((key, value) -> System.out.println(key + " " + value));

// replace method
map.replace("key1", 1, 100);

// replaceAll method
map.replaceAll((key, oldValue) -> oldValue + 10);

// compute method
map.compute("key2", (key, value) -> value * 2);

// computeIfAbsent method
map.computeIfAbsent("key3", key -> 3);

// computeIfPresent method
map.computeIfPresent("key2", (key, value) -> value * 2);

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov