El método getAndUpdate() de una clase AtomicReferenceArray se usa para actualizaciones atómicas que actualizan el valor actual de AtomicReferenceArray aplicando la operación updateFunction especificada en el valor actual. Toma un objeto de la interfaz updateFunction como su parámetro y aplica la operación especificada en el objeto al valor actual. Devuelve el valor anterior.
Sintaxis:
public final E getAndUpdate(int i, UnaryOperator<E> updateFunction)
Parámetros: Este método acepta:
- index i para actualizar el valor del índice y
- updateFunction, que es una función sin efectos secundarios.
Valor devuelto: este método devuelve el valor anterior .
Los siguientes programas ilustran el método getAndUpdate():
Programa 1:
Java
// Java program to demonstrate // AtomicReferenceArray.getAndUpdate() method import java.util.concurrent.atomic.*; import java.util.function.UnaryOperator; public class GFG { public static void main(String args[]) { // an array String a[] = { "GFG", "JS", "PYTHON", "JAVA" }; // AtomicReferenceArray with array AtomicReferenceArray<String> array = new AtomicReferenceArray<>(a); // Print AtomicReferenceArray System.out.println( "The AtomicReferenceArray before update : " + array); // Index int index = 2; // Declaring the accumulatorFunction // applying function UnaryOperator add = (u) -> u.toString() + " and ML"; // apply getAndUpdate() String value = array.getAndUpdate(index, add); // print AtomicReferenceArray System.out.println("previous value of index 2:" + value); System.out.println("The AtomicReferenceArray " + "after update: " + array); } }
Producción:
Programa 2:
Java
// Java program to demonstrate // AtomicReferenceArray.getAndUpdate() method import java.util.concurrent.atomic.*; import java.util.function.UnaryOperator; public class GFG { public static void main(String args[]) { // an array Integer a[] = { 213, 1234, 4543, 345 }; // AtomicReferenceArray with array AtomicReferenceArray<Integer> array = new AtomicReferenceArray(a); // Print AtomicReferenceArray System.out.println( "The AtomicReferenceArray" + " before update : " + array); // Index int index = 2; // Declaring the accumulatorFunction // applying function UnaryOperator add = (u) -> Integer.parseInt(u.toString()) * 200; // apply getAndUpdate() int value = array.getAndUpdate(index, add); // print AtomicReferenceArray System.out.println("previous value of index 2:" + value); System.out.println("updated value of index 2:" + array.get(2)); System.out.println("The AtomicReferenceArray " + "after update: " + array); } }
Producción:
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA