📜  Java HashMap forEach()

📅  最后修改于: 2020-09-27 00:40:56             🧑  作者: Mango

Java HashMap forEach()方法用于对哈希映射的每个映射执行指定的操作。

forEach()方法的语法为:

hashmap.forEach(BiConsumer action)

在这里, hashmapHashMap类的对象。


forEach()参数

forEach()方法采用单个参数。

  • 要对的每个映射执行的动作- 动作 HashMap

forEach()返回值

forEach()方法不返回任何值。


示例:Java HashMap forEach()
import java.util.HashMap;

class Main {
  public static void main(String[] args) {
    // create a HashMap
    HashMap prices = new HashMap<>();

    // insert entries to the HashMap
    prices.put("Shoes", 200);
    prices.put("Bag", 300);
    prices.put("Pant", 150);
    System.out.println("Normal Price: " + prices);

    System.out.print("Discounted Price: ");

    // pass lambda expression to forEach()
    prices.forEach((key, value) -> {

      // decrease value by 10%
      value = value - value * 10/100;
      System.out.print(key + "=" + value + " ");
    });
  }
}

输出

Normal Price: {Pant=150, Bag=300, Shoes=200}
Discounted Price: Pant=135 Bag=270 Shoes=180 

在上面的示例中,我们创建了一个名为price的哈希表。注意代码,

prices.forEach((key, value) -> {
  value = value - value * 10/100;
  System.out.print(key + "=" + value + " ");  
});

我们已经将lambda表达式作为参数传递给forEach()方法。这里,

  • forEach()方法为哈希表的每个条目执行由lambda表达式指定的操作
  • lambda表达式将每个值减少10%,并打印所有键和减少的值

要了解有关lambda表达式的更多信息,请访问Java Lambda Expressions。

注意forEach()方法与for-each循环不同。我们可以使用Java for-each循环遍历哈希映射的每个条目。