在此示例中,我们将学习使用键更新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()。