com.badlogic.gdx.utils
Class LongArray

java.lang.Object
  extended by com.badlogic.gdx.utils.LongArray

public class LongArray
extends Object

A resizable, ordered or unordered long array. Avoids the boxing that occurs with ArrayList. 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

Field Summary
 long[] items
           
 boolean ordered
           
 int size
           
 
Constructor Summary
LongArray()
          Creates an ordered array with a capacity of 16.
LongArray(boolean ordered, int capacity)
           
LongArray(boolean ordered, long[] array, int startIndex, int count)
          Creates a new array containing the elements in the specified array.
LongArray(int capacity)
          Creates an ordered array with the specified capacity.
LongArray(long[] array)
          Creates a new ordered array containing the elements in the specified array.
LongArray(LongArray array)
          Creates a new array containing the elements in the specific array.
 
Method Summary
 void add(long value)
           
 void addAll(long[] array)
           
 void addAll(long[] array, int offset, int length)
           
 void addAll(LongArray array)
           
 void addAll(LongArray array, int offset, int length)
           
 void clear()
           
 boolean contains(long value)
           
 long[] ensureCapacity(int additionalCapacity)
          Increases the size of the backing array to acommodate the specified number of additional items.
 boolean equals(Object object)
           
 long first()
          Returns the first item.
 long get(int index)
           
 void incr(int index, long value)
           
 int indexOf(long value)
           
 void insert(int index, long value)
           
 int lastIndexOf(char value)
           
 long peek()
          Returns the last item.
 long pop()
          Removes and returns the last item.
 long random()
          Returns a random item from the array, or zero if the array is empty.
 boolean removeAll(LongArray array)
          Removes from this array all of elements contained in the specified array.
 long removeIndex(int index)
          Removes and returns the item at the specified index.
 boolean removeValue(long value)
           
 void reverse()
           
 void set(int index, long value)
           
 void shrink()
          Reduces the size of the backing array to the size of the actual items.
 void shuffle()
           
 void sort()
           
 void swap(int first, int second)
           
 long[] toArray()
           
 String toString()
           
 String toString(String separator)
           
 void truncate(int newSize)
          Reduces the size of the array to the specified size.
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

items

public long[] items

size

public int size

ordered

public boolean ordered
Constructor Detail

LongArray

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


LongArray

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


LongArray

public LongArray(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.

LongArray

public LongArray(LongArray array)
Creates a new array containing the elements in the specific array. The new array will be ordered if the specific 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.


LongArray

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


LongArray

public LongArray(boolean ordered,
                 long[] array,
                 int startIndex,
                 int count)
Creates a new array containing the elements in the specified 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(long value)

addAll

public void addAll(LongArray array)

addAll

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

addAll

public void addAll(long[] array)

addAll

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

get

public long get(int index)

set

public void set(int index,
                long value)

incr

public void incr(int index,
                 long value)

insert

public void insert(int index,
                   long value)

swap

public void swap(int first,
                 int second)

contains

public boolean contains(long value)

indexOf

public int indexOf(long value)

lastIndexOf

public int lastIndexOf(char value)

removeValue

public boolean removeValue(long value)

removeIndex

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


removeAll

public boolean removeAll(LongArray array)
Removes from this array all of elements contained in the specified array.

Returns:
true if this array was modified.

pop

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


peek

public long peek()
Returns the last item.


first

public long 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 long[] 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

sort

public void sort()

reverse

public void reverse()

shuffle

public void shuffle()

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 long random()
Returns a random item from the array, or zero if the array is empty.


toArray

public long[] toArray()

equals

public boolean equals(Object object)
Overrides:
equals in class Object

toString

public String toString()
Overrides:
toString in class Object

toString

public String toString(String separator)


Copyright © 2013. All Rights Reserved.