Java中的 HashTable forEach() 方法及示例
Hashtable 类的forEach(BiConsumer)方法对 hashtable 的每个条目执行 BiConsumer 操作,直到所有条目都处理完或该操作引发异常。 BiConsumer 操作是对哈希表的键值对按迭代顺序进行的函数操作。方法遍历Hashtable的每个元素,直到所有元素都被方法处理完或者发生异常。操作抛出的异常被传递给调用者。
句法:
public void
forEach(BiConsumer super K, ? super V> action)
参数:此方法采用参数名称BiConsumer ,它表示要为每个元素执行的操作。
返回:此方法不返回任何内容。
异常:此方法抛出:
- NullPointerException :如果指定的操作为空。
下面的程序说明了 forEach(BiConsumer) 方法:
方案一:
// Java program to demonstrate
// forEach(BiConsumer) method.
import java.util.*;
public class GFG {
// Main method
public static void main(String[] args)
{
// create a table and add some values
Map
table = new Hashtable<>();
table.put("Pen", 10);
table.put("Book", 500);
table.put("Clothes", 400);
table.put("Mobile", 5000);
table.put("Booklet", 2500);
// add 100 in each value using forEach()
table.forEach((k, v) -> {
v = v + 100;
table.replace(k, v);
});
// print new mapping using forEcah()
table.forEach(
(k, v) -> System.out.println("Key : " + k + ", Value : " + v));
}
}
输出:
Key : Booklet, Value : 2600
Key : Clothes, Value : 500
Key : Mobile, Value : 5100
Key : Pen, Value : 110
Key : Book, Value : 600
程序 2:显示 NullPointerException
// Java program to demonstrate
// forEach(BiConsumer) method.
import java.util.*;
public class GFG {
// Main method
public static void main(String[] args)
{
// create a table and add some values
Map
table = new Hashtable<>();
table.put(1, "100RS");
table.put(2, "500RS");
table.put(3, "1000RS");
try {
// add 100 in each value using forEach()
table.forEach((k, v) -> {
v = v + 100;
table.put(null, v);
});
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
输出:
Exception: java.lang.NullPointerException
参考:https: Java/util/Hashtable.html#forEach-java.util。函数.BiConsumer-