Обновление значения в HashMap на Java — методы put, replace и merge
Пример 1: Обновление значения HashMap с помощью put()
import java.util.HashMap;
class Main {
public static void main(String[] args) {
HashMap<String, Integer> numbers = new HashMap<>();
numbers.put("First", 1);
numbers.put("Second", 2);
numbers.put("Third", 3);
System.out.println("HashMap: " + numbers);
// return the value of key Second
int value = numbers.get("Second");
// update the value
value = value * value;
// insert the updated value to the HashMap
numbers.put("Second", value);
System.out.println("HashMap with updated value: " + numbers);
}
}
Вывод:
HashMap: {Second=2, Third=3, First=1}
HashMap with updated value: {Second=4, Third=3, First=1}
В приведённом примере мы использовали метод HashMap.put() для обновления значения ключа Second. Сначала мы получаем значение с помощью метода HashMap.get().
Пример 2: Обновление значения HashMap с помощью computeIfPresent()
import java.util.HashMap;
class Main {
public static void main(String[] args) {
HashMap<String, Integer> numbers = new HashMap<>();
numbers.put("First", 1);
numbers.put("Second", 2);
System.out.println("HashMap: " + numbers);
// update the value of Second
// Using computeIfPresent()
numbers.computeIfPresent("Second", (key, oldValue) -> oldValue * 2);
System.out.println("HashMap with updated value: " + numbers);
}
}
Вывод:
HashMap: {Second=2, First=1}
HashMap with updated value: {Second=4, First=1}
В этом примере мы пересчитали значение ключа Second с помощью метода computeIfPresent(). Здесь мы передали лямбда-выражение в качестве аргумента метода.
Пример 3: Обновление значения HashMap с помощью merge()
import java.util.HashMap;
class Main {
public static void main(String[] args) {
HashMap<String, Integer> numbers = new HashMap<>();
numbers.put("First", 1);
numbers.put("Second", 2);
System.out.println("HashMap: " + numbers);
// update the value of First
// Using the merge() method
numbers.merge("First", 4, (oldValue, newValue) -> oldValue + newValue);
System.out.println("HashMap with updated value: " + numbers);
}
}
Вывод:
HashMap: {Second=2, First=1}
HashMap with updated value: {Second=2, First=5}
В этом примере метод merge() складывает старое и новое значения ключа First, после чего обновлённое значение записывается в HashMap.