Friday, September 19, 2025
HomeLanguagesJavaProperties compute(Key, BiFunction) method in Java with Examples

Properties compute(Key, BiFunction) method in Java with Examples

The compute(Key, BiFunction) method of Properties class allows to compute a mapping for the specified key and its current mapped value (or null if there is no current mapping is found).

  • If the remapping function passed in compute() of Properties returns null as a return value then the mapping is removed from Properties(or remains absent if initially absent).
  • If the remapping function throws an exception, the exception is rethrown, and the current mapping is left unchanged.
  • During computation, modification this map using this method is not allowed.
  • This method will throw a ConcurrentModificationException if the remapping function modified this map during computation.

Syntax:

public Object compute?(Object key,
                      BiFunction remappingFunction)

Parameters: This method accepts two parameters:

  • key: key with which the value is to be associated.
  • remappingFunction: function to do the operation on value.

Returns: This method returns new value associated with the specified key, or null if none.

Exception: This method throws ConcurrentModificationException if it is detected that the remapping function modified this map.

Below programs illustrate the compute(Key, BiFunction) method:

Program 1:




// Java program to demonstrate
// compute(Key, BiFunction) 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("Current Properties: "
                           + properties.toString());
  
        // remap the values of Properties
        // using compute method
        properties.compute("Pen", (key, val)
                                      -> 15);
        properties.compute("Clothes", (key, val)
                                          -> 120);
  
        // print new mapping
        System.out.println("New Properties: "
                           + properties.toString());
    }
}


Output:

Current Properties: {Book=500, Mobile=5000, Pen=10, Clothes=400}
New Properties: {Book=500, Mobile=5000, Pen=15, Clothes=120}

Program 2:




// Java program to demonstrate
// compute(Key, BiFunction) 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());
  
        // remap the values of Properties
        // using compute method
        properties.compute(3, (key, val)
                                  -> "00RS");
        properties.compute(2, (key, val)
                                  -> "$");
  
        // print new mapping
        System.out.println("New Properties: "
                           + properties.toString());
    }
}


Output:

Current Properties: {3=1000RS, 2=500RS, 1=100RS}
New Properties: {3=00RS, 2=$, 1=100RS}

References: https://docs.oracle.com/javase/9/docs/api/java/util/Properties.html#compute-java.lang.Object-java.util.function.BiFunction-

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32303 POSTS0 COMMENTS
Milvus
84 POSTS0 COMMENTS
Nango Kala
6666 POSTS0 COMMENTS
Nicole Veronica
11841 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11898 POSTS0 COMMENTS
Shaida Kate Naidoo
6781 POSTS0 COMMENTS
Ted Musemwa
7059 POSTS0 COMMENTS
Thapelo Manthata
6740 POSTS0 COMMENTS
Umr Jansen
6745 POSTS0 COMMENTS