Java Hashtable forEach()方法及示例
Hashtable类的 forEach(BiConsumer) 方法对hashtable的每个条目进行BiConsumer操作,直到所有条目都被处理完,或者该操作抛出一个异常。BiConsumer操作是对hashtable的键值对按照迭代顺序进行的函数操作。方法遍历Hashtable的每个元素,直到所有的元素都被方法处理过或者发生异常。由操作抛出的异常会传递给调用者。
语法
public void
forEach(BiConsumer<? super K, ? super V> action)
参数: 该方法接受一个参数名BiConsumer,代表对每个元素要执行的操作。
返回: 此方法不返回任何东西。
异常: 此方法抛出。
- NullPointerException :如果指定的动作为空。
下面的程序说明了forEach(BiConsumer)方法。
程序1 :
// 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<String, Integer>
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<Integer, String>
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://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html#forEach-java.util.function.BiConsumer-