Saturday, September 6, 2025
HomeLanguagesJavaAtomicInteger getAndAccumulate() method in Java with Examples

AtomicInteger getAndAccumulate() method in Java with Examples

The Java.AtomicInteger.getAndAccumulate() method is an inbuilt method, which updates the current value of the object by applying the specified operation on the current value and value passed as a parameter. It takes an integer as its parameter and an object of IntBinaryOperator interface and applies the operation specified in the object to the values. It returns the previous value.

Syntax:

public final int getAndAccumulate(int y, 
                   IntBinaryOperator function)

Parameters: This method accepts two parameters:

  • y: an integer on which the function is to be applied.
  • function: function applied to the current value of the object and the value y.

Return Value: The function returns the previous value of the current object.

Example to demonstrate the function.




// Java program to demonstrate
// working of getAndAccumulate() method
  
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.IntBinaryOperator;
  
public class Demo {
    public static void main(String[] args)
    {
        new UserThread("Thread A");
        new UserThread("Thread B");
    }
}
  
class Shared {
    static AtomicInteger ai
        = new AtomicInteger(1);
}
  
class UserThread implements Runnable {
    String name;
  
    UserThread(String name)
    {
        this.name = name;
        new Thread(this).start();
    }
  
    IntBinaryOperator ibo = (x, y) -> (x * y);
  
    int value = 5;
    @Override
    public void run()
    {
        for (int i = 0; i < 3; i++) {
  
            int ans
                = Shared.ai
                      .getAndAccumulate(value, ibo);
  
            System.out.println(name + " "
                               + ans);
        }
    }
}


Output:

Thread A 1
Thread A 5
Thread A 25
Thread B 125
Thread B 625
Thread B 3125

Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html

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

Most Popular

Dominic
32270 POSTS0 COMMENTS
Milvus
82 POSTS0 COMMENTS
Nango Kala
6639 POSTS0 COMMENTS
Nicole Veronica
11803 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11869 POSTS0 COMMENTS
Shaida Kate Naidoo
6752 POSTS0 COMMENTS
Ted Musemwa
7029 POSTS0 COMMENTS
Thapelo Manthata
6704 POSTS0 COMMENTS
Umr Jansen
6721 POSTS0 COMMENTS