E - The base class of elements held in this arraypublic class AtomicReferenceArray<E> extends Object implements Serializable
java.util.concurrent.atomic package
 specification for description of the properties of atomic
 variables.| Constructor and Description | 
|---|
AtomicReferenceArray(E[] array)
Creates a new AtomicReferenceArray with the same length as, and
 all elements copied from, the given array. 
 | 
AtomicReferenceArray(int length)
Creates a new AtomicReferenceArray of the given length, with all
 elements initially null. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
E | 
accumulateAndGet(int i,
                E x,
                BinaryOperator<E> accumulatorFunction)
Atomically updates the element at index  
i with the
 results of applying the given function to the current and
 given values, returning the updated value. | 
boolean | 
compareAndSet(int i,
             E expect,
             E update)
Atomically sets the element at position  
i to the given
 updated value if the current value == the expected value. | 
E | 
get(int i)
Gets the current value at position  
i. | 
E | 
getAndAccumulate(int i,
                E x,
                BinaryOperator<E> accumulatorFunction)
Atomically updates the element at index  
i with the
 results of applying the given function to the current and
 given values, returning the previous value. | 
E | 
getAndSet(int i,
         E newValue)
Atomically sets the element at position  
i to the given
 value and returns the old value. | 
E | 
getAndUpdate(int i,
            UnaryOperator<E> updateFunction)
Atomically updates the element at index  
i with the results
 of applying the given function, returning the previous value. | 
void | 
lazySet(int i,
       E newValue)
Eventually sets the element at position  
i to the given value. | 
int | 
length()
Returns the length of the array. 
 | 
void | 
set(int i,
   E newValue)
Sets the element at position  
i to the given value. | 
String | 
toString()
Returns the String representation of the current values of array. 
 | 
E | 
updateAndGet(int i,
            UnaryOperator<E> updateFunction)
Atomically updates the element at index  
i with the results
 of applying the given function, returning the updated value. | 
boolean | 
weakCompareAndSet(int i,
                 E expect,
                 E update)
Atomically sets the element at position  
i to the given
 updated value if the current value == the expected value. | 
public AtomicReferenceArray(int length)
length - the length of the arraypublic AtomicReferenceArray(E[] array)
array - the array to copy elements fromNullPointerException - if array is nullpublic final int length()
public final E get(int i)
i.i - the indexpublic final void set(int i,
                      E newValue)
i to the given value.i - the indexnewValue - the new valuepublic final void lazySet(int i,
                          E newValue)
i to the given value.i - the indexnewValue - the new valuepublic final E getAndSet(int i, E newValue)
i to the given
 value and returns the old value.i - the indexnewValue - the new valuepublic final boolean compareAndSet(int i,
                                   E expect,
                                   E 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,
                                       E expect,
                                       E 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 E getAndUpdate(int i, UnaryOperator<E> 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 E updateAndGet(int i, UnaryOperator<E> 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 E getAndAccumulate(int i, E x, BinaryOperator<E> 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 E accumulateAndGet(int i, E x, BinaryOperator<E> 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, 2017, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.