8. Какие дополнительные методы для работы с ассоциативными массивами (maps) появилисьв Java 8?
UNKNOWNputIfAbsent() добавляет пару «ключ-значение», только если ключ отсутствовал:
map.putIfAbsent(\"a\", \"Aa\");
forEach() принимает функцию, которая производит операцию над каждым элементом:
map.forEach((k, v) -> System.out.println(v));
compute() создаёт или обновляет текущее значение на полученное в результате вычисления (возможно использовать ключ и текущее значение):
map.compute(\"a\", (k, v) - String.valueOf(k).concat(v)); //[\"a\", \"aAa\"]
computeIfPresent() если ключ существует, обновляет текущее значение на полученное в результате вычисления (возможно использовать ключ и текущее значение):
map.computeIfPresent(\"a\", (k, v) - k.concat(v));
computeIfAbsent() если ключ отсутствует, создаёт его со значением, которое вычисляется (возможно использовать ключ):
map.computeIfAbsent(\"a\", k - \"A\".concat(k)); //[\"a\",\"Aa\"]
getOrDefault() в случае отсутствия ключа, возвращает переданное значение по-умолчанию:
map.getOrDefault(\"a\", \"not found\");
merge() принимает ключ, значение и функцию, которая объединяет передаваемое и текущее значения. Если под заданным ключем значение отсутствует, то записывает туда передаваемое значение.
map.merge(\"a\", \"z\", (value, newValue) - value.concat(newValue)); //[\"a\",\"Aaz\"]
Предыдущий вопрос: 7.Как создать Base64 кодировщик и декодировщик?
Следующий вопрос: 9. Что такое LocalDateTime?
Все вопросы по теме: список
Все темы: список
Вопросы/замечания/предложения/нашли ошибку:напишите мне