org.javimmutable.collections.common
Class IndexedArray<T>

java.lang.Object
  extended by org.javimmutable.collections.common.IndexedArray<T>
All Implemented Interfaces:
Indexed<T>

@Immutable
public class IndexedArray<T>
extends Object
implements Indexed<T>

Indexed implementation backed by a java array.


Method Summary
static
<T> IndexedArray<T>
copied(T[] values)
          Produces an instance using a clone of the specified array to ensure that changes to the array will not influence the values returned by the instance's methods.
 T get(int index)
          Retrieve the value.
static
<T> IndexedArray<T>
retained(T[] values)
          Produces an instance using the provided array.
 int size()
          Retrieve the number of values available in the container.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

copied

public static <T> IndexedArray<T> copied(T[] values)
Produces an instance using a clone of the specified array to ensure that changes to the array will not influence the values returned by the instance's methods. This is generally preferred to the unsafe() constructor.

Type Parameters:
T -
Parameters:
values -
Returns:

retained

public static <T> IndexedArray<T> retained(T[] values)
Produces an instance using the provided array. This makes the instance unsafe for sharing since changes to the array will cause changes to this instance's values. However this can be useful when performance is important and the instance will not be shared or retained beyond a single method scope.

Type Parameters:
T -
Parameters:
values -
Returns:

get

public T get(int index)
Description copied from interface: Indexed
Retrieve the value. The index must be valid for the container's current size (i.e. [0-size)

Specified by:
get in interface Indexed<T>
Returns:

size

public int size()
Description copied from interface: Indexed
Retrieve the number of values available in the container.

Specified by:
size in interface Indexed<T>
Returns:


Copyright © 2014 Burton Computer Corporation. All rights reserved.