Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.util.concurrent.atomic
Class AtomicReferenceArray<E>

    java.lang.Object
      java.util.concurrent.atomic.AtomicReferenceArray<E>

Type Parameters:
  `E` - The base class of elements held in this array

All Implemented Interfaces:
  Serializable

    public class AtomicReferenceArray<E>

extends Object
implements Serializable

An array of object references in which elements may be updated atomically. See the `java.util.concurrent.atomic` package specification for description of the properties of atomic variables.

Since:
  1.5
See Also:
  Serialized Form

Constructor Summary
`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 given length.

Method Summary
`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` | `getAndSet(int i, E newValue)` Atomically sets the element at position `i` to the given value and returns the old 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.
`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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### AtomicReferenceArray

    public AtomicReferenceArray(int length)

  Creates a new AtomicReferenceArray of given length.

  Parameters:
    `length` - the length of the array

### AtomicReferenceArray

    public AtomicReferenceArray(E[] array)

  Creates a new AtomicReferenceArray with the same length as, and all elements copied from, the given array.

  Parameters:
    `array` - the array to copy elements from
  Throws:
    `NullPointerException` - if array is null

Method Detail

### length

    public final int length()

  Returns the length of the array.

  Returns:
    the length of the array

### get

    public final E get(int i)

  Gets the current value at position `i`.

  Parameters:
    `i` - the index
  Returns:
    the current value

### set

    public final void set(int i,
                          E newValue)

  Sets the element at position `i` to the given value.

  Parameters:
    `i` - the index
    `newValue` - the new value

### lazySet

    public final void lazySet(int i,
                              E newValue)

  Eventually sets the element at position `i` to the given value.

  Parameters:
    `i` - the index
    `newValue` - the new value
  Since:
    1.6

### getAndSet

    public final E getAndSet(int i,
                             E newValue)

  Atomically sets the element at position `i` to the given value and returns the old value.

  Parameters:
    `i` - the index
    `newValue` - the new value
  Returns:
    the previous value

### compareAndSet

    public final 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.

  Parameters:
    `i` - the index
    `expect` - the expected value
    `update` - the new value
  Returns:
    true if successful. False return indicates that the actual value was not equal to the expected value.

### weakCompareAndSet

    public final 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.

  May fail spuriously and does not provide ordering guarantees, so is only rarely an appropriate alternative to `compareAndSet`.

  Parameters:
    `i` - the index
    `expect` - the expected value
    `update` - the new value
  Returns:
    true if successful.

### toString

    public String toString()

  Returns the String representation of the current values of array.

  Overrides:
    `toString` in class `Object`
  Returns:
    the String representation of the current values of array.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.