跳到主要内容

Java程序使用键更新HashMap的值

要理解这个示例,你应该具备以下 Java 编程主题的知识:

示例 1:使用 put() 更新 HashMap 的值

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);

// 返回键 Second 的值
int value = numbers.get("Second");

// 更新值
value = value * value;

// 将更新后的值插入到 HashMap
numbers.put("Second", value);
System.out.println("HashMap 更新后的值: " + numbers);
}
}

输出

HashMap: {Second=2, Third=3, First=1}
HashMap 更新后的值: {Second=4, Third=3, First=1}

在上述示例中,我们使用了 HashMap put() 方法来更新键 Second 的值。这里,首先,我们使用 HashMap get() 方法访问值。

示例 2:使用 computeIfPresent() 更新 HashMap 的值

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);

// 更新键 Second 的值
// 使用 computeIfPresent()
numbers.computeIfPresent("Second", (key, oldValue) -> oldValue * 2);
System.out.println("HashMap 更新后的值: " + numbers);

}
}

输出

HashMap: {Second=2, First=1}
HashMap 更新后的值: {Second=4, First=1}

在上述示例中,我们使用 computeIfPresent() 方法重新计算了键 Second 的值。要了解更多,请访问 HashMap computeIfPresent()

在这里,我们将 lambda 表达式作为方法参数传递给了方法。

示例 3:使用 merge() 更新 HashMap 的值

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);

// 更新键 First 的值
// 使用 merge() 方法
numbers.merge("First", 4, (oldValue, newValue) -> oldValue + newValue);
System.out.println("HashMap 更新后的值: " + numbers);
}
}

输出

HashMap: {Second=2, First=1}
HashMap 更新后的值: {Second=2, First=5}

在上述示例中,merge() 方法将键 First 的旧值和新值相加,并将更新后的值插入到 HashMap。要了解更多,请访问 HashMap merge()