Java.util.concurrent.atomic.AtomicIntegerArray.getAndSet () es un método incorporado en Java que establece atómicamente un valor dado en cualquier posición dada de AtomicIntegerArray. El método toma el valor de índice de AtomicIntegerArray y el valor a establecer como parámetros. Devuelve el valor en el índice dado antes de establecer el nuevo valor en ese índice. La función getAndSet() es similar a la función set() pero la primera devuelve valor mientras que la última no devuelve ningún valor.
Sintaxis:
public final int getAndSet(int i, int newValue)
Parámetros: La función acepta dos parámetros:
- i – El índice donde se realizará la actualización.
- newValue : el valor para establecer en el índice i
Valor de retorno: la función devuelve el valor en el índice dado antes de la actualización que está en Integer .
Los siguientes programas ilustran el método anterior:
Programa 1:
// Java program that demonstrates // the getAndSet() function import java.util.concurrent.atomic.AtomicIntegerArray; public class GFG { public static void main(String args[]) { // Initializing an array int a[] = { 11, 12, 13, 14, 15 }; // Initializing an AtomicIntegerArray with array a AtomicIntegerArray arr = new AtomicIntegerArray(a); // Displaying the AtomicIntegerArray System.out.println("The array : " + arr); // Index where operation is performed int idx = 0; // New value to set at idx int val = 100; // Updating the value at // idx applying getAndSet // and store previous value int prev = arr.getAndSet(idx, val); // Previous value at idx before update System.out.println("Value at index " + idx + " before the update is " + prev); // Displaying the AtomicIntegerArray System.out.println("The array after update : " + arr); } }
Producción:
The array : [11, 12, 13, 14, 15] Value at index 0 before the update is 11 The array after update : [100, 12, 13, 14, 15]
Programa 2:
// Java program that demonstrates // the getAndSet() function import java.util.concurrent.atomic.AtomicIntegerArray; public class GFG { public static void main(String args[]) { // Initializing an array int a[] = { 11, 12, 13, 14, 15 }; // Initializing an AtomicIntegerArray with array a AtomicIntegerArray arr = new AtomicIntegerArray(a); // Displaying the AtomicIntegerArray System.out.println("The array : " + arr); // Index where operation is performed int idx = 3; // New value to set at idx int val = 10; // Updating the value at // idx applying getAndSet // and store previous value int prev = arr.getAndSet(idx, val); // Previous value at idx before update System.out.println("Value at index " + idx + " before the update is " + prev); // Displaying the AtomicIntegerArray System.out.println("The array after update : " + arr); } }
Producción:
The array : [11, 12, 13, 14, 15] Value at index 3 before the update is 14 The array after update : [11, 12, 13, 10, 15]