现在位置: 首页 > Java 教程 > 正文

Java HashMap forEach() 方法

Java HashMap Java HashMap

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

forEach() 方法的语法为:

hashmap.forEach(BiConsumer<K, V> action)

注:hashmap 是 HashMap 类的一个对象。

参数说明:

  • action - 要执行的操作

返回值

没有返回值。

实例

以下实例演示了 forEach() 方法的使用:

实例

import java.util.HashMap;

class Main {
    public static void main(String[] args) {
        // 创建一个 HashMap
        HashMap<String, Integer> prices = new HashMap<>();

        // 往 HashMap 中插入映射项
        prices.put("Shoes", 200);
        prices.put("Bag", 300);
        prices.put("Pant", 150);
        System.out.println("Normal Price: " + prices);

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

        //通过 lambda 表达式使用 forEach()
        prices.forEach((key, value) -> {
            // value 价格减少百分之 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 

注意这一行:

prices.forEach((key, value) -> {
    // value 价格减少百分之 10
    value = value - value * 10/100;
    System.out.print(key + "=" + value + " ");
});

以上实例中,我们将匿名函数 lambda 的表达式作为 forEach() 方法的参数传入,lambda 表达式将动态数组中的每个元素减少百分 10,然后输出结果。

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

注意:forEach() 方法与 for-each 循环不同。Java for-each 用于遍历数组中的每个元素。

Java HashMap Java HashMap