Package com.badlogic.gdx.utils
Class CharArray
- java.lang.Object
-
- com.badlogic.gdx.utils.CharArray
-
public class CharArray extends java.lang.Object
A resizable, ordered or unordered char 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).
-
-
Constructor Summary
Constructors Constructor Description CharArray()
Creates an ordered array with a capacity of 16.CharArray(boolean ordered, char[] array, int startIndex, int count)
Creates a new array containing the elements in the specified array.CharArray(boolean ordered, int capacity)
CharArray(char[] array)
Creates a new ordered array containing the elements in the specified array.CharArray(int capacity)
Creates an ordered array with the specified capacity.CharArray(CharArray array)
Creates a new array containing the elements in the specific array.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(char value)
void
add(char value1, char value2)
void
add(char value1, char value2, char value3)
void
add(char value1, char value2, char value3, char value4)
void
addAll(char... array)
void
addAll(char[] array, int offset, int length)
void
addAll(CharArray array)
void
addAll(CharArray array, int offset, int length)
void
clear()
boolean
contains(char value)
char[]
ensureCapacity(int additionalCapacity)
Increases the size of the backing array to accommodate the specified number of additional items.boolean
equals(java.lang.Object object)
Returns false if either array is unordered.char
first()
Returns the first item.char
get(int index)
int
hashCode()
void
incr(char value)
void
incr(int index, char value)
int
indexOf(char value)
void
insert(int index, char value)
void
insertRange(int index, int count)
Inserts the specified number of items at the specified index.boolean
isEmpty()
Returns true if the array is empty.int
lastIndexOf(char value)
void
mul(char value)
void
mul(int index, char value)
boolean
notEmpty()
Returns true if the array has one or more items.char
peek()
Returns the last item.char
pop()
Removes and returns the last item.char
random()
Returns a random item from the array, or zero if the array is empty.boolean
removeAll(CharArray array)
Removes from this array all of elements contained in the specified array.char
removeIndex(int index)
Removes and returns the item at the specified index.void
removeRange(int start, int end)
Removes the items between the specified indices, inclusive.boolean
removeValue(char value)
protected char[]
resize(int newSize)
void
reverse()
void
set(int index, char value)
char[]
setSize(int newSize)
Sets the array size, leaving any values beyond the current size undefined.char[]
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)
char[]
toArray()
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.static CharArray
with(char... array)
-
-
-
Constructor Detail
-
CharArray
public CharArray()
Creates an ordered array with a capacity of 16.
-
CharArray
public CharArray(int capacity)
Creates an ordered array with the specified capacity.
-
CharArray
public CharArray(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.
-
CharArray
public CharArray(CharArray 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.
-
CharArray
public CharArray(char[] 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.
-
CharArray
public CharArray(boolean ordered, char[] 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(char value)
-
add
public void add(char value1, char value2)
-
add
public void add(char value1, char value2, char value3)
-
add
public void add(char value1, char value2, char value3, char value4)
-
addAll
public void addAll(CharArray array)
-
addAll
public void addAll(CharArray array, int offset, int length)
-
addAll
public void addAll(char... array)
-
addAll
public void addAll(char[] array, int offset, int length)
-
get
public char get(int index)
-
set
public void set(int index, char value)
-
incr
public void incr(int index, char value)
-
incr
public void incr(char value)
-
mul
public void mul(int index, char value)
-
mul
public void mul(char value)
-
insert
public void insert(int index, char value)
-
insertRange
public void insertRange(int index, int count)
Inserts the specified number of items at the specified index. The new items will have values equal to the values at those indices before the insertion.
-
swap
public void swap(int first, int second)
-
contains
public boolean contains(char value)
-
indexOf
public int indexOf(char value)
-
lastIndexOf
public int lastIndexOf(char value)
-
removeValue
public boolean removeValue(char value)
-
removeIndex
public char removeIndex(int index)
Removes and returns the item at the specified index.
-
removeRange
public void removeRange(int start, int end)
Removes the items between the specified indices, inclusive.
-
removeAll
public boolean removeAll(CharArray array)
Removes from this array all of elements contained in the specified array.- Returns:
- true if this array was modified.
-
pop
public char pop()
Removes and returns the last item.
-
peek
public char peek()
Returns the last item.
-
first
public char first()
Returns the first item.
-
notEmpty
public boolean notEmpty()
Returns true if the array has one or more items.
-
isEmpty
public boolean isEmpty()
Returns true if the array is empty.
-
clear
public void clear()
-
shrink
public char[] 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.- Returns:
items
-
ensureCapacity
public char[] ensureCapacity(int additionalCapacity)
Increases the size of the backing array to accommodate the specified number of additional items. Useful before adding many items to avoid multiple backing array resizes.- Returns:
items
-
setSize
public char[] setSize(int newSize)
Sets the array size, leaving any values beyond the current size undefined.- Returns:
items
-
resize
protected char[] resize(int newSize)
-
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 char random()
Returns a random item from the array, or zero if the array is empty.
-
toArray
public char[] toArray()
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object object)
Returns false if either array is unordered.- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
toString
public java.lang.String toString(java.lang.String separator)
-
with
public static CharArray with(char... array)
- See Also:
CharArray(char[])
-
-