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

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

Java中 forEach(BiConsumer) 方法的属性和示例

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

句法:

public void forEach(BiConsumer 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 properties and add some values
        Properties properties = new Properties();
        properties.put("Pen", 10);
        properties.put("Book", 500);
        properties.put("Clothes", 400);
        properties.put("Mobile", 5000);
  
        // Print Properties details
        System.out.println("Properties 1: "
                           + properties.toString());
  
        // Add 100 in each value using forEach()
        properties.forEach((k, v) -> {
  
            v = (int)v + 100;
            properties.replace(k, v);
        });
  
        // Print new mapping using forEcah()
        properties.forEach(
            (k, v) -> System.out.println("Key : " + k + ", Value : " + v));
    }
}
输出:
Properties 1: {Book=500, Mobile=5000, Pen=10, Clothes=400}
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 properties and add some values
        Properties properties = new Properties();
  
        properties.put(1, "100RS");
        properties.put(2, "500RS");
        properties.put(3, "1000RS");
  
        // Print Properties details
        System.out.println("Current Properties: "
                           + properties.toString());
  
        try {
  
            // add 100 in each value using forEach()
            properties.forEach((k, v) -> {
  
                v = (String)v + "100";
                properties.put(null, v);
            });
        }
        catch (Exception e) {
  
            System.out.println("Exception: " + e);
        }
    }
}
输出:
Current Properties: {3=1000RS, 2=500RS, 1=100RS}
Exception: java.lang.NullPointerException

参考资料:https://docs.oracle.com/javase/9/docs/api/ Java/util/Properties.html#forEach-java.util。函数.BiConsumer-