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);
}
} |
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);
}
} |
Previous value: 18 Current value: 12
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html#getAndSet–