📜  Java中的 HashMap forEach(BiConsumer) 方法及示例

📅  最后修改于: 2022-05-13 01:55:04.065000             🧑  作者: Mango

Java中的 HashMap forEach(BiConsumer) 方法及示例

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

句法:

public void forEach(BiConsumer action)

参数:此方法接受 BiConsumer 类型的参数操作,该操作表示要对 HashMap 元素执行的操作。

返回:此方法不返回任何内容。

异常:如果操作为空,此方法将抛出NullPointerException

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

程序1:使用action遍历hashmap

// 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 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 action
            = new MyBiConsumer();
  
        // calling forEach method
        map.forEach(action);
    }
}
  
// Defining Our Action in MyBiConsumer class
class MyBiConsumer implements BiConsumer {
  
    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

方案二:

// 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 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 action
            = new MyBiConsumer();
  
        // calling forEach method
        map.forEach(action);
    }
}
  
// Defining Our Action in MyBiConsumer class
class MyBiConsumer implements BiConsumer {
  
    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: Java/util/HashMap.html#forEach-java.util。函数.BiConsumer-