com.badlogic.gdx.utils
Class BooleanArray

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

public class BooleanArray
extends Object

A resizable, ordered or unordered boolean array. Avoids the boxing that occurs with ArrayList. It is less memory efficient than BitSet, except for very small sizes. It more CPU efficient than BitSet, except for very large sizes or if BitSet functionality such as and, or, xor, etc are needed. 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
 boolean[] items
           
 boolean ordered
           
 int size
           
 
Constructor Summary
BooleanArray()
          Creates an ordered array with a capacity of 16.
BooleanArray(boolean[] array)
          Creates a new ordered array containing the elements in the specified array.
BooleanArray(BooleanArray array)
          Creates a new array containing the elements in the specific array.
BooleanArray(boolean ordered, boolean[] array, int startIndex, int count)
          Creates a new array containing the elements in the specified array.
BooleanArray(boolean ordered, int capacity)
           
BooleanArray(int capacity)
          Creates an ordered array with the specified capacity.
 
Method Summary
 void add(boolean value)
           
 void addAll(boolean[] array)
           
 void addAll(boolean[] array, int offset, int length)
           
 void addAll(BooleanArray array)
           
 void addAll(BooleanArray array, int offset, int length)
           
 void clear()
           
 boolean[] ensureCapacity(int additionalCapacity)
          Increases the size of the backing array to acommodate the specified number of additional items.
 boolean equals(Object object)
           
 boolean first()
          Returns the first item.
 boolean get(int index)
           
 void insert(int index, boolean value)
           
 boolean peek()
          Returns the last item.
 boolean pop()
          Removes and returns the last item.
 boolean random()
          Returns a random item from the array, or false if the array is empty.
 boolean removeAll(BooleanArray array)
          Removes from this array all of elements contained in the specified array.
 boolean removeIndex(int index)
          Removes and returns the item at the specified index.
 void reverse()
           
 void set(int index, boolean value)
           
 void shrink()
          Reduces the size of the backing array to the size of the actual items.
 void shuffle()
           
 void swap(int first, int second)
           
 boolean[] 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 boolean[] items

size

public int size

ordered

public boolean ordered
Constructor Detail

BooleanArray

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


BooleanArray

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


BooleanArray

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

BooleanArray

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


BooleanArray

public BooleanArray(boolean[] 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.


BooleanArray

public BooleanArray(boolean ordered,
                    boolean[] 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(boolean value)

addAll

public void addAll(BooleanArray array)

addAll

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

addAll

public void addAll(boolean[] array)

addAll

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

get

public boolean get(int index)

set

public void set(int index,
                boolean value)

insert

public void insert(int index,
                   boolean value)

swap

public void swap(int first,
                 int second)

removeIndex

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


removeAll

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

Returns:
true if this array was modified.

pop

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


peek

public boolean peek()
Returns the last item.


first

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

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


toArray

public boolean[] 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.