The forEach(BiConsumer) method of Properties class perform the BiConsumer operation on each entry of hashtable until all entries have been processed or the action throws an exception. The BiConsumer operation is a function operation of key-value pair of hashtable performed in the order of iteration. Method traverses each element of Hashtable until all elements have been processed by the method or an exception occurs. Exceptions thrown by the Operation are passed to the caller.
Syntax:
public void forEach(BiConsumer action)
Parameters: This method accepts a parameter action of BiConsumer type that represents what action are to be performed on the properties elements.
Returns: This method do not return anything.
Exceptions: This method throws NullPointerException if the action is null.
Below programs illustrate the forEach(BiConsumer) method:
Program 1:
// 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
Program 2: To show 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
References: https://docs.oracle.com/javase/9/docs/api/java/util/Properties.html#forEach-java.util.function.BiConsumer-