Java HashMap forEach(BiConsumer)方法及示例

Java HashMap forEach(BiConsumer)方法及示例

HashMap类的 forEach(BiConsumer) 方法对hashhmap的每个条目进行BiConsumer操作,直到所有条目都被处理完毕或该操作抛出一个异常。BiConsumer操作是对hashtable的键值对按照迭代的顺序进行的函数操作。方法遍历Hashtable的每个元素,直到所有的元素都被方法处理过或者发生异常。由操作抛出的异常会传递给调用者。

语法

public void forEach(BiConsumer action)

参数: 该方法接受一个BiConsumer类型的参数action,表示对HashMap元素进行的操作。

返回: 该方法不返回任何东西。

异常: 如果动作为空,该方法会抛出NullPointerException。

下面的程序说明了forEach(BiConsumer)方法。

程序1:使用动作遍历一个哈希图

// Java program to demonstrate
// forEach(BiConsumer) method.
  
import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;
  
public class GFG {
  
    // Main method
    public static void main(String[] args)
    {
  
        // create a HashMap and add some values
        Map<String, Integer> map
            = new HashMap<>();
  
        map.put("geeks", 55);
        map.put("for", 13);
        map.put("geeks", 22);
        map.put("is", 11);
        map.put("heaven", 90);
        map.put("for", 100);
        map.put("geekies like us", 96);
  
        // creating a custom action
        BiConsumer<String, Integer> action
            = new MyBiConsumer();
  
        // calling forEach method
        map.forEach(action);
    }
}
  
// Defining Our Action in MyBiConsumer class
class MyBiConsumer implements BiConsumer<String, Integer> {
  
    public void accept(String k, Integer v)
    {
        System.out.print("Key = " + k);
        System.out.print("\t Value = " + v);
        System.out.println();
    }
}

输出。

Key = geeks     Value = 22
Key = for     Value = 100
Key = is     Value = 11
Key = heaven     Value = 90
Key = geekies like us     Value = 96

程序2

// Java program to demonstrate
// forEach(BiConsumer) method.
  
import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;
  
public class GFG {
  
    // Main method
    public static void main(String[] args)
    {
  
        // Create a HashMap
        // and add some values
        Map<String, Integer> map
            = new HashMap<>();
  
        map.put("geeks", 55);
        map.put("for", 13);
        map.put("geeks", 22);
        map.put("is", 11);
        map.put("heaven", 90);
        map.put("for", 100);
        map.put("geekies like us", 96);
  
        // creating an action
        BiConsumer<String, Integer> action
            = new MyBiConsumer();
  
        // calling forEach method
        map.forEach(action);
    }
}
  
// Defining Our Action in MyBiConsumer class
class MyBiConsumer implements BiConsumer<String, Integer> {
  
    public void accept(String k, Integer v)
    {
        System.out.println("Key: " + k
                           + "\tValue: " + v);
  
        if ("for".equals(k)) {
            System.out.println("Its the "
                               + "highest value\n");
        }
    }
}

输出。

Key: geeks    Value: 22
Key: for    Value: 100
Its the highest value

Key: is    Value: 11
Key: heaven    Value: 90
Key: geekies like us    Value: 96

参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html#forEach-java.util.function.BiConsumer-

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程