The java.util.concurrent.atomic.AtomicIntegerArray class represents an array of int which are updated atomically.
Creating an AtomicIntegerArray
AtomicIntegerArray array = new AtomicIntegerArray(5);
It creates an atomic integer array of capacity 5.
Commonly used methods of AtomicIntegerArray class
- get(int i): Reads the value atomically. I represents the index here.
- set(int i, int newValue): Writes the value atomically. I represents the index here.
- compareAndSet(int i, int expect, int update): Variable value is compared to the expect param, and if they are equal, then the value is set to the update param and true is returned. I represents the index here.
- addAndGet(int i, int delta): The delta is added to the value and the new value is returned. I represents the index here.
- getAndAdd(int i, int delta): It adds the delta to the value, and returns the previous value. I represents the index here.
- getAndIncrement(int i): The value is incremented, and its previous value is returned. I represents the index here.
- incrementAndGet(int i): The value is incremented and its new value is returned. I represents the index here.
- decrementAndGet(int i): The value is decremented and its new value is returned. I represents the index here.
- getAndDecrement(int i): The value is decremented and its previous value is returned. I represents the index here.
Example
import java.util.concurrent.atomic.AtomicIntegerArray; public class AtomicIntegerArrayTest { public static void main(String[] args) { AtomicIntegerArray atomicIntegerArray = new AtomicIntegerArray(new int[]{10,41,25,23}); System.out.println(atomicIntegerArray.get(3)); System.out.println(atomicIntegerArray.addAndGet(3,40)); System.out.println(atomicIntegerArray.getAndAdd(2,30)); System.out.println(atomicIntegerArray.get(2)); } } |
Output
23 63 25 55 |