AtomicInteger getAndSet() method in Java with examples
Last Updated :
29 Jan, 2019
Improve
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:
Java
Java
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);
}
}
// 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:
Program 2:
Previous value: 0 Current value: 10
// 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);
}
}
// 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:
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html#getAndSet--
Previous value: 18 Current value: 12