在此示例中,我們將學(xué)習(xí)使用鍵更新Java HashMap的值。
要理解此示例,您應(yīng)該了解以下Java編程主題:
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);
}
}輸出結(jié)果
HashMap: {Second=2, Third=3, First=1}
更新值后的HashMap: {Second=4, Third=3, First=1}在上面的示例中,我們使用了HashMap put()方法來更新鍵為 Second 的值。在這里,首先,我們使用HashMap get()方法訪問該值 。
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);
}
}輸出結(jié)果
HashMap: {Second=2, First=1}
更新值后的HashMap: {Second=4, First=1}在上面的示例中,我們使用computeIfPresent()方法重新計(jì)算了鍵 Second 的值。要了解更多信息,請?jiān)L問HashMap computeIfPresent()。
在這里,我們將lambda表達(dá)式用作該方法的方法參數(shù)。
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);
}
}輸出結(jié)果
HashMap: {Second=2, First=1}
更新值后的HashMap: {Second=2, First=5}在上面的示例中,merge()方法將 鍵First 的舊值和新值相加。并且,將更新后的值插入HashMap。要了解更多信息,請?jiān)L問HashMap merge()。