Open In App
Related Articles

AtomicReferenceArray updateAndGet() method in Java with Examples

Improve Article
Improve
Save Article
Save
Like Article
Like

The updateAndGet() method of a AtomicReferenceArray class is used to atomically updates which updates the current value of the AtomicReferenceArray by applying the specified updateFunction operation on the current value. It takes an object of updateFunction interface as its parameter and applies the operation specified in the object to the current value. It returns the previous value.
Syntax: 
 

public final V updateAndGet(
  UnaryOperator<V> updateFunction)

Parameters: This method accepts: 
 

  • index i to update the index value and
  • updateFunction which is a side-effect-free function.

Return value: This method returns the previous value.
Below programs illustrate the updateAndGet() method: 
Program 1: 
 

Java




// Java program to demonstrate
// AtomicReferenceArray.updateAndGet() method
 
import java.util.concurrent.atomic.*;
import java.util.function.UnaryOperator;
 
public class GFG {
    public static void main(String args[])
    {
        // an array
        String a[]
            = { "GFG", "JS", "PYTHON", "JAVA" };
 
        // AtomicReferenceArray with array
        AtomicReferenceArray<String> array
            = new AtomicReferenceArray<>(a);
 
        // Print AtomicReferenceArray
        System.out.println(
            "The AtomicReferenceArray before update : "
            + array);
 
        // Index
        int index = 2;
 
        // Declaring the accumulatorFunction
        // applying function
        UnaryOperator add
            = (u) -> u.toString() + " and ML";
 
        // apply updateAndGet()
        String value
            = array.updateAndGet(index, add);
 
        // print AtomicReferenceArray
        System.out.println("updated value of index 2:"
                           + value);
        System.out.println(
            "The AtomicReferenceArray after update: "
            + array);
    }
}


Output: 

 

Program 2: 
 

Java




// Java program to demonstrate
// AtomicReferenceArray.updateAndGet() method
 
import java.util.concurrent.atomic.*;
import java.util.function.UnaryOperator;
 
public class GFG {
    public static void main(String args[])
    {
        // an array
        Integer a[]
            = { 213, 1234, 4543, 345 };
 
        // AtomicReferenceArray with array
        AtomicReferenceArray<Integer> array
            = new AtomicReferenceArray(a);
 
        // Print AtomicReferenceArray
        System.out.println(
            "The AtomicReferenceArray before update : "
            + array);
 
        // Index
        int index = 2;
 
        // Declaring the accumulatorFunction
        // applying function
        UnaryOperator add
            = (u) -> Integer.parseInt(u.toString()) * 500;
 
        // apply updateAndGet()
        int value
            = array.updateAndGet(index, add);
 
        // print AtomicReferenceArray
        System.out.println("updated value of index 2:"
                           + value);
        System.out.println(
            "The AtomicReferenceArray after update: "
            + array);
    }
}


Output: 

 

References: https://docs.oracle.com/javase/10/docs/api/java/util/concurrent/atomic/AtomicReferenceArray.html#updateAndGet(java.util.function.UnaryOperator)
 


Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 13 Apr, 2021
Like Article
Save Article
Previous
Next
Similar Reads
Complete Tutorials