AtomicInteger getAndSet() method in Java with examples

The java.util.concurrent.atomic.AtomicInteger.getAndSet() is an inbuilt method in java that sets the given value to the value passed in the parameter and returns the value before updation which is of data-type int.
Syntax:
public final int getAndSet(int val)
Parameters: The function accepts a single mandatory parameter val which specifies the value to be updated.
Return value: The function returns the value before update operation is performed to the previous value.
Program below demonstrates the function:
Program 1:
// Java program that demonstrates// the getAndSet() function  import java.util.concurrent.atomic.AtomicInteger;  public class GFG {    public static void main(String args[])    {          // Initially value as 0        AtomicInteger val            = new AtomicInteger(0);          // Updates and sets        int res            = val.getAndSet(10);          System.out.println("Previous value: "                           + res);          // Prints the updated value        System.out.println("Current value: "                           + val);    }} |
Output:
Previous value: 0 Current value: 10
Program 2:
// Java program that demonstrates// the getAndSet() function  import java.util.concurrent.atomic.AtomicInteger;  public class GFG {    public static void main(String args[])    {          // Initially value as 18        AtomicInteger val            = new AtomicInteger(18);          // Gets and updates        int res = val.getAndSet(12);          System.out.println("Previous value: "                           + res);        // Prints the updated value        System.out.println("Current value: "                           + val);    }} |
Output:
Previous value: 18 Current value: 12



