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-