Java.util.concurrent.atomic.AtomicIntegerArray.getAndAdd () es un método incorporado en Java que agrega atómicamente el valor dado al elemento en un índice de AtomicIntegerArray. Este método toma el valor de índice de AtomicIntegerArray y el valor que se agregará como parámetros y devuelve el valor antes de la operación de agregar. La función getAndAdd() es similar a addAndGet() pero la función anterior devuelve el valor antes de la operación de suma, mientras que la última devuelve el valor después de la operación de suma.
Sintaxis:
public final int getAndAdd(int i, int delta)
Parámetros: La función acepta dos parámetros:
- i – El índice donde se va a agregar valor.
- delta : el valor que se agregará.
Valor de retorno: la función devuelve el valor antes de la operación de suma que está en Integer .
Los siguientes programas ilustran el método anterior:
Programa 1:
Java
// Java program that demonstrates // the getAndAdd() function import java.util.concurrent.atomic.AtomicIntegerArray; public class GFG { public static void main(String args[]) { // Initializing an array int a[] = { 10, 22, 33, 44, 55 }; // Initializing an AtomicIntegerArray with array a AtomicIntegerArray arr = new AtomicIntegerArray(a); // Displaying the AtomicIntegerArray System.out.println("The array : " + arr); // Index where value is to be added int idx = 0; // Value to add with value at idx int x = 16; // Updating the value at // idx applying getAndAdd and // storing the previous value int prev = arr.getAndAdd(idx, x); // Previous value at index idx // before update System.out.println("Value at index " + idx + " before update is " + prev); // Displaying the AtomicIntegerArray System.out.println("The array after update : " + arr); } }
The array : [10, 22, 33, 44, 55] Value at index 0 before update is 10 The array after update : [26, 22, 33, 44, 55]
Programa 2:
Java
// Java program that demonstrates // the getAndAdd() function import java.util.concurrent.atomic.AtomicIntegerArray; public class GFG { public static void main(String args[]) { // Initializing an array int a[] = { 1, 2, 3, 4, 5 }; // Initializing an AtomicIntegerArray with array a AtomicIntegerArray arr = new AtomicIntegerArray(a); // Displaying the AtomicIntegerArray System.out.println("The array : " + arr); // Index where value is to be added int idx = 3; // Value to add with value at idx int x = 16; // Updating the value at // idx applying getAndAdd and // storing the previous value int prev = arr.getAndAdd(idx, x); // Previous value at index idx // before update System.out.println("Value at index " + idx + " before update is " + prev); // Displaying the AtomicIntegerArray System.out.println("The array after update : " + arr); } }
The array : [1, 2, 3, 4, 5] Value at index 3 before update is 4 The array after update : [1, 2, 3, 20, 5]