libgdx API

com.badlogic.gdx.utils
Class Array<T>

java.lang.Object
  extended by com.badlogic.gdx.utils.Array<T>
All Implemented Interfaces:
java.lang.Iterable<T>
Direct Known Subclasses:
DelayedRemovalArray, SnapshotArray

public class Array<T>
extends java.lang.Object
implements java.lang.Iterable<T>

A resizable, ordered or unordered array of objects. If unordered, this class avoids a memory copy when removing elements (the last element is moved to the removed element's position).

Author:
Nathan Sweet

Nested Class Summary
static class Array.ArrayIterable<T>
           
static class Array.ArrayIterator<T>
           
 
Field Summary
 T[] items
          Provides direct access to the underlying array.
 boolean ordered
           
 int size
           
 
Constructor Summary
Array()
          Creates an ordered array with a capacity of 16.
Array(Array array)
          Creates a new array containing the elements in the specified array.
Array(boolean ordered, int capacity)
           
Array(boolean ordered, int capacity, java.lang.Class<T> arrayType)
          Creates a new array with items of the specified type.
Array(boolean ordered, T[] array)
          Creates a new array containing the elements in the specified array.
Array(java.lang.Class<T> arrayType)
          Creates an ordered array with items of the specified type and a capacity of 16.
Array(int capacity)
          Creates an ordered array with the specified capacity.
Array(T[] array)
          Creates a new ordered array containing the elements in the specified array.
 
Method Summary
 void add(T value)
           
 void addAll(Array array)
           
 void addAll(Array array, int offset, int length)
           
 void addAll(T[] array)
           
 void addAll(T[] array, int offset, int length)
           
 void clear()
           
 boolean contains(T value, boolean identity)
           
 T[] ensureCapacity(int additionalCapacity)
          Increases the size of the backing array to acommodate the specified number of additional items.
 boolean equals(java.lang.Object object)
           
 T first()
          Returns the first item.
 T get(int index)
           
 int indexOf(T value, boolean identity)
           
 void insert(int index, T value)
           
 java.util.Iterator<T> iterator()
          Returns an iterator for the items in the array.
 int lastIndexOf(T value, boolean identity)
           
 T peek()
          Returns the last item.
 T pop()
          Removes and returns the last item.
 T random()
          Returns a random item from the array, or null if the array is empty.
 boolean removeAll(Array<T> array, boolean identity)
          Removes from this array all of elements contained in the specified array.
 T removeIndex(int index)
          Removes and returns the item at the specified index.
 boolean removeValue(T value, boolean identity)
           
protected  T[] resize(int newSize)
          Creates a new backing array with the specified size containing the current items.
 void reverse()
           
 void set(int index, T value)
           
 void shrink()
          Reduces the size of the backing array to the size of the actual items.
 void shuffle()
           
 void sort()
          Sorts this array.
 void sort(java.util.Comparator<T> comparator)
          Sorts the array.
 void swap(int first, int second)
           
 T[] toArray()
           
<V> V[]
toArray(java.lang.Class<V> type)
           
 java.lang.String toString()
           
 java.lang.String toString(java.lang.String separator)
           
 void truncate(int newSize)
          Reduces the size of the array to the specified size.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

items

public T[] items
Provides direct access to the underlying array. If the Array's generic type is not Object, this field may only be accessed if the Array(boolean, int, Class) constructor was used.


size

public int size

ordered

public boolean ordered
Constructor Detail

Array

public Array()
Creates an ordered array with a capacity of 16.


Array

public Array(int capacity)
Creates an ordered array with the specified capacity.


Array

public Array(boolean ordered,
             int capacity)
Parameters:
ordered - If false, methods that remove elements may change the order of other elements in the array, which avoids a memory copy.
capacity - Any elements added beyond this will cause the backing array to be grown.

Array

public Array(boolean ordered,
             int capacity,
             java.lang.Class<T> arrayType)
Creates a new array with items of the specified type.

Parameters:
ordered - If false, methods that remove elements may change the order of other elements in the array, which avoids a memory copy.
capacity - Any elements added beyond this will cause the backing array to be grown.

Array

public Array(java.lang.Class<T> arrayType)
Creates an ordered array with items of the specified type and a capacity of 16.


Array

public Array(Array array)
Creates a new array containing the elements in the specified array. The new array will have the same type of backing array and will be ordered if the specified array is ordered. The capacity is set to the number of elements, so any subsequent elements added will cause the backing array to be grown.


Array

public Array(T[] array)
Creates a new ordered array containing the elements in the specified array. The new array will have the same type of backing array. The capacity is set to the number of elements, so any subsequent elements added will cause the backing array to be grown.


Array

public Array(boolean ordered,
             T[] array)
Creates a new array containing the elements in the specified array. The new array will have the same type of backing array. The capacity is set to the number of elements, so any subsequent elements added will cause the backing array to be grown.

Parameters:
ordered - If false, methods that remove elements may change the order of other elements in the array, which avoids a memory copy.
Method Detail

add

public void add(T value)

addAll

public void addAll(Array array)

addAll

public void addAll(Array array,
                   int offset,
                   int length)

addAll

public void addAll(T[] array)

addAll

public void addAll(T[] array,
                   int offset,
                   int length)

get

public T get(int index)

set

public void set(int index,
                T value)

insert

public void insert(int index,
                   T value)

swap

public void swap(int first,
                 int second)

contains

public boolean contains(T value,
                        boolean identity)
Parameters:
identity - If true, == comparison will be used. If false, .equals() comaparison will be used.

indexOf

public int indexOf(T value,
                   boolean identity)

lastIndexOf

public int lastIndexOf(T value,
                       boolean identity)

removeValue

public boolean removeValue(T value,
                           boolean identity)

removeIndex

public T removeIndex(int index)
Removes and returns the item at the specified index.


removeAll

public boolean removeAll(Array<T> array,
                         boolean identity)
Removes from this array all of elements contained in the specified array.

Parameters:
identity - True to use ==, false to use .equals().
Returns:
true if this array was modified.

pop

public T pop()
Removes and returns the last item.


peek

public T peek()
Returns the last item.


first

public T first()
Returns the first item.


clear

public void clear()

shrink

public void shrink()
Reduces the size of the backing array to the size of the actual items. This is useful to release memory when many items have been removed, or if it is known that more items will not be added.


ensureCapacity

public T[] ensureCapacity(int additionalCapacity)
Increases the size of the backing array to acommodate the specified number of additional items. Useful before adding many items to avoid multiple backing array resizes.

Returns:
items

resize

protected T[] resize(int newSize)
Creates a new backing array with the specified size containing the current items.


sort

public void sort()
Sorts this array. The array elements must implement Comparable. This method is not thread safe (uses Sort.instance()).


sort

public void sort(java.util.Comparator<T> comparator)
Sorts the array. This method is not thread safe (uses Sort.instance()).


reverse

public void reverse()

shuffle

public void shuffle()

iterator

public java.util.Iterator<T> iterator()
Returns an iterator for the items in the array. Remove is supported. Note that the same iterator instance is returned each time this method is called. Use the Array.ArrayIterator constructor for nested or multithreaded iteration.

Specified by:
iterator in interface java.lang.Iterable<T>

truncate

public void truncate(int newSize)
Reduces the size of the array to the specified size. If the array is already smaller than the specified size, no action is taken.


random

public T random()
Returns a random item from the array, or null if the array is empty.


toArray

public T[] toArray()

toArray

public <V> V[] toArray(java.lang.Class<V> type)

equals

public boolean equals(java.lang.Object object)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toString

public java.lang.String toString(java.lang.String separator)

libgdx API

Copyright 2010 Mario Zechner (contact@badlogicgames.com), Nathan Sweet (admin@esotericsoftware.com)