public class ConcurrentArray<T> extends org.mini2Dx.gdx.utils.Array<T> implements ConcurrentCollection
| Modifier and Type | Field and Description |
|---|---|
protected org.mini2Dx.lockprovider.ReadWriteLock |
lock |
| Constructor and Description |
|---|
ConcurrentArray()
Creates an ordered array with a capacity of 16.
|
ConcurrentArray(org.mini2Dx.gdx.utils.Array<? extends T> array)
Creates a new array containing the elements in the specified array.
|
ConcurrentArray(boolean ordered,
int capacity) |
ConcurrentArray(boolean ordered,
int capacity,
java.lang.Class arrayType)
Creates a new array with
Array.items of the specified type. |
ConcurrentArray(boolean ordered,
T[] array,
int start,
int count)
Creates a new array containing the elements in the specified array.
|
ConcurrentArray(java.lang.Class arrayType)
Creates an ordered array with
Array.items of the specified type and a capacity of 16. |
ConcurrentArray(int capacity)
Creates an ordered array with the specified capacity.
|
ConcurrentArray(T[] array)
Creates a new ordered array containing the elements in the specified array.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(T value) |
void |
add(T value1,
T value2) |
void |
add(T value1,
T value2,
T value3) |
void |
add(T value1,
T value2,
T value3,
T value4) |
void |
addAll(org.mini2Dx.gdx.utils.Array<? extends T> array,
int start,
int count) |
void |
addAll(T[] array,
int start,
int count) |
void |
clear() |
boolean |
contains(T value,
boolean identity)
Returns true if this array contains the specified value.
|
boolean |
containsAll(org.mini2Dx.gdx.utils.Array<? extends T> values,
boolean identity)
Returns true if this array contains all the specified values.
|
boolean |
containsAny(org.mini2Dx.gdx.utils.Array<? extends T> values,
boolean identity)
Returns true if this array contains any the specified values.
|
T[] |
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.
|
boolean |
equalsIdentity(java.lang.Object object)
Uses == for comparison of each item.
|
T |
first()
Returns the first item.
|
T |
get(int index) |
org.mini2Dx.lockprovider.ReadWriteLock |
getLock()
Returns the collection's
ReadWriteLock |
int |
hashCode() |
int |
indexOf(T value,
boolean identity)
Returns the index of first occurrence of value in the array, or -1 if no such value exists.
|
void |
insert(int index,
T value) |
boolean |
isEmpty()
Returns true if the array is empty.
|
org.mini2Dx.gdx.utils.Array.ArrayIterator<T> |
iterator()
Returns an iterator for the items in the array.
|
int |
lastIndexOf(T value,
boolean identity)
Returns an index of last occurrence of value in array or -1 if no such value exists.
|
boolean |
notEmpty()
Returns true if the array has one or more items.
|
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(org.mini2Dx.gdx.utils.Array<? extends 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.
|
void |
removeRange(int start,
int end)
Removes the items between the specified indices, inclusive.
|
boolean |
removeValue(T value,
boolean identity)
Removes the first instance of the specified value in the array.
|
void |
reverse() |
java.lang.Iterable<T> |
select(org.mini2Dx.gdx.utils.Predicate<T> predicate)
Returns an iterable for the selected items in the array.
|
T |
selectRanked(java.util.Comparator<T> comparator,
int kthLowest)
Selects the nth-lowest element from the Array according to Comparator ranking.
|
int |
selectRankedIndex(java.util.Comparator<T> comparator,
int kthLowest) |
void |
set(int index,
T value) |
T[] |
setSize(int newSize)
Sets the array size, leaving any values beyond the current size null.
|
T[] |
shrink()
Reduces the size of the backing array to the size of the actual items.
|
void |
shuffle() |
int |
size()
Returns the size in a thread-safe manner
|
void |
swap(int first,
int second) |
T[] |
toArray()
Returns the items as an array.
|
<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.
|
addAll, addAll, insertRange, of, of, resize, sort, sort, withpublic ConcurrentArray()
public ConcurrentArray(int capacity)
capacity - public ConcurrentArray(boolean ordered,
int capacity)
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.public ConcurrentArray(boolean ordered,
int capacity,
java.lang.Class arrayType)
Array.items of the specified type.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.arrayType - public ConcurrentArray(java.lang.Class arrayType)
Array.items of the specified type and a capacity of 16.arrayType - public ConcurrentArray(org.mini2Dx.gdx.utils.Array<? extends T> array)
array - public ConcurrentArray(T[] array)
array - public ConcurrentArray(boolean ordered,
T[] array,
int start,
int count)
ordered - If false, methods that remove elements may change the order of other elements in the array, which avoids a
memory copy.array - start - count - public int size()
public void add(T value1, T value2, T value3)
add in class org.mini2Dx.gdx.utils.Array<T>public void add(T value1, T value2, T value3, T value4)
add in class org.mini2Dx.gdx.utils.Array<T>public void addAll(org.mini2Dx.gdx.utils.Array<? extends T> array, int start, int count)
addAll in class org.mini2Dx.gdx.utils.Array<T>public void addAll(T[] array, int start, int count)
addAll in class org.mini2Dx.gdx.utils.Array<T>public void insert(int index,
T value)
insert in class org.mini2Dx.gdx.utils.Array<T>public void swap(int first,
int second)
swap in class org.mini2Dx.gdx.utils.Array<T>public boolean contains(T value, boolean identity)
contains in class org.mini2Dx.gdx.utils.Array<T>value - May be null.identity - If true, == comparison will be used. If false, .equals() comparison will be used.public boolean containsAll(org.mini2Dx.gdx.utils.Array<? extends T> values, boolean identity)
containsAll in class org.mini2Dx.gdx.utils.Array<T>values - May contains nulls.identity - If true, == comparison will be used. If false, .equals() comparison will be used.public boolean containsAny(org.mini2Dx.gdx.utils.Array<? extends T> values, boolean identity)
containsAny in class org.mini2Dx.gdx.utils.Array<T>values - May contains nulls.identity - If true, == comparison will be used. If false, .equals() comparison will be used.public boolean removeValue(T value, boolean identity)
removeValue in class org.mini2Dx.gdx.utils.Array<T>value - May be null.identity - If true, == comparison will be used. If false, .equals() comparison will be used.public boolean removeAll(org.mini2Dx.gdx.utils.Array<? extends T> array, boolean identity)
removeAll in class org.mini2Dx.gdx.utils.Array<T>array - identity - True to use ==, false to use .equals().public T selectRanked(java.util.Comparator<T> comparator, int kthLowest)
GdxRuntimeException will be thrown.selectRanked in class org.mini2Dx.gdx.utils.Array<T>comparator - used for comparisonkthLowest - rank of desired object according to comparison, n is based on ordinal numbers, not array indices. for min
value use 1, for max value use size of array, using 0 results in runtime exception.Selectpublic int selectRankedIndex(java.util.Comparator<T> comparator, int kthLowest)
selectRankedIndex in class org.mini2Dx.gdx.utils.Array<T>comparator - used for comparisonkthLowest - rank of desired object according to comparison, n is based on ordinal numbers, not array indices. for min
value use 1, for max value use size of array, using 0 results in runtime exception.Array.selectRanked(Comparator, int)public java.lang.Iterable<T> select(org.mini2Dx.gdx.utils.Predicate<T> predicate)
If Collections.allocateIterators is false, the same iterable instance is returned each time this method is called.
Use the Predicate.PredicateIterable constructor for nested or multithreaded iteration.
select in class org.mini2Dx.gdx.utils.Array<T>predicate - public int indexOf(T value, boolean identity)
indexOf in class org.mini2Dx.gdx.utils.Array<T>value - May be null.identity - If true, == comparison will be used. If false, .equals() comparison will be used.public int lastIndexOf(T value, boolean identity)
lastIndexOf in class org.mini2Dx.gdx.utils.Array<T>value - May be null.identity - If true, == comparison will be used. If false, .equals() comparison will be used.public T removeIndex(int index)
removeIndex in class org.mini2Dx.gdx.utils.Array<T>index - public void removeRange(int start,
int end)
removeRange in class org.mini2Dx.gdx.utils.Array<T>start - end - public T pop()
pop in class org.mini2Dx.gdx.utils.Array<T>public T first()
first in class org.mini2Dx.gdx.utils.Array<T>public boolean notEmpty()
notEmpty in class org.mini2Dx.gdx.utils.Array<T>public boolean isEmpty()
isEmpty in class org.mini2Dx.gdx.utils.Array<T>public void clear()
clear in class org.mini2Dx.gdx.utils.Array<T>public org.mini2Dx.gdx.utils.Array.ArrayIterator<T> iterator()
public T[] shrink()
shrink in class org.mini2Dx.gdx.utils.Array<T>Array.itemspublic T[] ensureCapacity(int additionalCapacity)
ensureCapacity in class org.mini2Dx.gdx.utils.Array<T>additionalCapacity - Array.itemspublic T[] setSize(int newSize)
setSize in class org.mini2Dx.gdx.utils.Array<T>newSize - Array.itemspublic void reverse()
reverse in class org.mini2Dx.gdx.utils.Array<T>public void shuffle()
shuffle in class org.mini2Dx.gdx.utils.Array<T>public void truncate(int newSize)
truncate in class org.mini2Dx.gdx.utils.Array<T>newSize - public T random()
random in class org.mini2Dx.gdx.utils.Array<T>public T[] toArray()
ConcurrentArray(Class) constructor must have been used.
Otherwise use toArray(Class) to specify the array type.toArray in class org.mini2Dx.gdx.utils.Array<T>public <V> V[] toArray(java.lang.Class<V> type)
toArray in class org.mini2Dx.gdx.utils.Array<T>public int hashCode()
hashCode in class org.mini2Dx.gdx.utils.Array<T>public boolean equals(java.lang.Object object)
equals in class org.mini2Dx.gdx.utils.Array<T>object - public boolean equalsIdentity(java.lang.Object object)
equalsIdentity in class org.mini2Dx.gdx.utils.Array<T>object - public java.lang.String toString()
toString in class org.mini2Dx.gdx.utils.Array<T>public java.lang.String toString(java.lang.String separator)
toString in class org.mini2Dx.gdx.utils.Array<T>public org.mini2Dx.lockprovider.ReadWriteLock getLock()
ConcurrentCollectionReadWriteLockgetLock in interface ConcurrentCollectionReadWriteLock