📜  Java程序使用键更新HashMap的值

📅  最后修改于: 2020-09-26 19:29:44             🧑  作者: Mango

在此示例中,我们将学习使用键更新Java HashMap的值。

示例1:使用put()更新HashMap的值
import java.util.HashMap;

class Main {
  public static void main(String[] args) {

    HashMap 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:使用computeIfPresent()更新HashMap的值
import java.util.HashMap;

class Main {
  public static void main(String[] args) {

    HashMap 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}

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

在这里,我们将lambda表达式用作该方法的方法参数。


示例3:使用merge()更新Hashmap的值
import java.util.HashMap;

class Main {
  public static void main(String[] args) {

    HashMap 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 。要了解更多信息,请访问HashMap merge()。