public class AtomicLongArray extends Object implements Serializable
long array in which elements may be updated atomically.
 See the java.util.concurrent.atomic package specification
 for description of the properties of atomic variables.| Constructor | Description | 
|---|---|
| AtomicLongArray(int length) | Creates a new AtomicLongArray of the given length, with all
 elements initially zero. | 
| AtomicLongArray(long[] array) | Creates a new AtomicLongArray with the same length as, and
 all elements copied from, the given array. | 
| Modifier and Type | Method | Description | 
|---|---|---|
| long | accumulateAndGet(int i,
                long x,
                LongBinaryOperator accumulatorFunction) | Atomically updates the element at index  iwith the
 results of applying the given function to the current and
 given values, returning the updated value. | 
| long | addAndGet(int i,
         long delta) | Atomically adds the given value to the element at index  i. | 
| boolean | compareAndSet(int i,
             long expect,
             long update) | Atomically sets the element at position  ito the given
 updated value if the current value==the expected value. | 
| long | decrementAndGet(int i) | Atomically decrements by one the element at index  i. | 
| long | get(int i) | Gets the current value at position  i. | 
| long | getAndAccumulate(int i,
                long x,
                LongBinaryOperator accumulatorFunction) | Atomically updates the element at index  iwith the
 results of applying the given function to the current and
 given values, returning the previous value. | 
| long | getAndAdd(int i,
         long delta) | Atomically adds the given value to the element at index  i. | 
| long | getAndDecrement(int i) | Atomically decrements by one the element at index  i. | 
| long | getAndIncrement(int i) | Atomically increments by one the element at index  i. | 
| long | getAndSet(int i,
         long newValue) | Atomically sets the element at position  ito the given value
 and returns the old value. | 
| long | getAndUpdate(int i,
            LongUnaryOperator updateFunction) | Atomically updates the element at index  iwith the results
 of applying the given function, returning the previous value. | 
| long | incrementAndGet(int i) | Atomically increments by one the element at index  i. | 
| void | lazySet(int i,
       long newValue) | Eventually sets the element at position  ito the given value. | 
| int | length() | Returns the length of the array. | 
| void | set(int i,
   long newValue) | Sets the element at position  ito the given value. | 
| String | toString() | Returns the String representation of the current values of array. | 
| long | updateAndGet(int i,
            LongUnaryOperator updateFunction) | Atomically updates the element at index  iwith the results
 of applying the given function, returning the updated value. | 
| boolean | weakCompareAndSet(int i,
                 long expect,
                 long update) | Atomically sets the element at position  ito the given
 updated value if the current value==the expected value. | 
public AtomicLongArray(int length)
length - the length of the arraypublic AtomicLongArray(long[] array)
array - the array to copy elements fromNullPointerException - if array is nullpublic final int length()
public final long get(int i)
i.i - the indexpublic final void set(int i,
                      long newValue)
i to the given value.i - the indexnewValue - the new valuepublic final void lazySet(int i,
                          long newValue)
i to the given value.i - the indexnewValue - the new valuepublic final long getAndSet(int i,
                            long newValue)
i to the given value
 and returns the old value.i - the indexnewValue - the new valuepublic final boolean compareAndSet(int i,
                                   long expect,
                                   long update)
i to the given
 updated value if the current value == the expected value.i - the indexexpect - the expected valueupdate - the new valuetrue if successful. False return indicates that
 the actual value was not equal to the expected value.public final boolean weakCompareAndSet(int i,
                                       long expect,
                                       long update)
i to the given
 updated value if the current value == the expected value.
 May fail
 spuriously and does not provide ordering guarantees, so is
 only rarely an appropriate alternative to compareAndSet.
i - the indexexpect - the expected valueupdate - the new valuetrue if successfulpublic final long getAndIncrement(int i)
i.i - the indexpublic final long getAndDecrement(int i)
i.i - the indexpublic final long getAndAdd(int i,
                            long delta)
i.i - the indexdelta - the value to addpublic final long incrementAndGet(int i)
i.i - the indexpublic final long decrementAndGet(int i)
i.i - the indexpublic long addAndGet(int i,
                      long delta)
i.i - the indexdelta - the value to addpublic final long getAndUpdate(int i,
                               LongUnaryOperator updateFunction)
i with the results
 of applying the given function, returning the previous value. The
 function should be side-effect-free, since it may be re-applied
 when attempted updates fail due to contention among threads.i - the indexupdateFunction - a side-effect-free functionpublic final long updateAndGet(int i,
                               LongUnaryOperator updateFunction)
i with the results
 of applying the given function, returning the updated value. The
 function should be side-effect-free, since it may be re-applied
 when attempted updates fail due to contention among threads.i - the indexupdateFunction - a side-effect-free functionpublic final long getAndAccumulate(int i,
                                   long x,
                                   LongBinaryOperator accumulatorFunction)
i with the
 results of applying the given function to the current and
 given values, returning the previous value. The function should
 be side-effect-free, since it may be re-applied when attempted
 updates fail due to contention among threads.  The function is
 applied with the current value at index i as its first
 argument, and the given update as the second argument.i - the indexx - the update valueaccumulatorFunction - a side-effect-free function of two argumentspublic final long accumulateAndGet(int i,
                                   long x,
                                   LongBinaryOperator accumulatorFunction)
i with the
 results of applying the given function to the current and
 given values, returning the updated value. The function should
 be side-effect-free, since it may be re-applied when attempted
 updates fail due to contention among threads.  The function is
 applied with the current value at index i as its first
 argument, and the given update as the second argument.i - the indexx - the update valueaccumulatorFunction - a side-effect-free function of two arguments Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.