Java.util.concurrent.atomic.AtomicLongArray.getAndSet()是Java中的内置方法,该方法原子地在AtomicLongArray的任何给定位置设置给定值。该方法采用AtomicLongArray的索引值和要设置为参数的值。在给定索引处设置新值之前,它将返回给定索引处的值。函数getAndSet()与set()函数相似,但前者返回值,而后者不返回任何值。
用法:
public final long getAndSet(int i, long newValue)
参数:该函数接受两个参数:
- i–要进行更新的索引。
- newValue–在索引i处设置的值
返回值:函数将在很长的更新之前返回给定索引处的值。
以下示例程序旨在说明上述方法:
示例1:
// Java program that demonstrates
// the getAndSet() function
import java.util.concurrent.atomic.AtomicLongArray;
public class GFG {
public static void main(String args[])
{
// Initializing an array
long a[] = { 11, 12, 13, 14, 15 };
// Initializing an AtomicLongArray with array a
AtomicLongArray arr = new AtomicLongArray(a);
// Displaying the AtomicLongArray
System.out.println("The array : " + arr);
// Index where operation is performed
int idx = 0;
// New value to set at idx
long val = 100;
// Updating the value at
// idx applying getAndSet
// and store previous value
long 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 AtomicLongArray
System.out.println("The array after update : "
+ arr);
}
}
输出:
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]
示例2:
// Java program that demonstrates
// the getAndSet() function
import java.util.concurrent.atomic.AtomicLongArray;
public class GFG {
public static void main(String args[])
{
// Initializing an array
long a[] = { 11, 12, 13, 14, 15 };
// Initializing an AtomicLongArray with array a
AtomicLongArray arr = new AtomicLongArray(a);
// Displaying the AtomicLongArray
System.out.println("The array : " + arr);
// Index where operation is performed
int idx = 3;
// New value to set at idx
long val = 10;
// Updating the value at
// idx applying getAndSet
// and store previous value
long 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 AtomicLongArray
System.out.println("The array after update : "
+ arr);
}
}
输出:
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]
相关用法
- Java AtomicBoolean getAndSet()用法及代码示例
- Java AtomicReference getAndSet()用法及代码示例
- Java AtomicLong getAndSet()用法及代码示例
- Java AtomicReferenceArray getAndSet()用法及代码示例
- Java AtomicIntegerArray getAndSet()用法及代码示例
- Java AtomicInteger getAndSet()用法及代码示例
- Java AtomicLongArray get()用法及代码示例
- Java AtomicLongArray set()用法及代码示例
- Java AtomicLongArray decrementAndGet()用法及代码示例
- Java AtomicLongArray addAndGet()用法及代码示例
- Java AtomicLongArray accumulateAndGet()用法及代码示例
- Java AtomicLongArray compareAndSet()用法及代码示例
- Java AtomicLongArray getAndUpdate()用法及代码示例
- Java AtomicLongArray updateAndGet()用法及代码示例
- Java AtomicLongArray toString()用法及代码示例
注:本文由纯净天空筛选整理自rupesh_rao大神的英文原创作品 AtomicLongArray getAndSet() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。