public class TByteArrayList
extends java.lang.Object
implements java.io.Externalizable, java.lang.Cloneable
| Modifier and Type | Field and Description |
|---|---|
protected byte[] |
_data
the data of the list
|
protected int |
_pos
the index after the last entry in the list
|
protected static int |
DEFAULT_CAPACITY
the default capacity for new lists
|
| Constructor and Description |
|---|
TByteArrayList()
Creates a new
TByteArrayList instance with the
default capacity. |
TByteArrayList(byte[] values)
Creates a new
TByteArrayList instance whose
capacity is the greater of the length of values and
DEFAULT_CAPACITY and whose initial contents are the specified
values. |
TByteArrayList(int capacity)
Creates a new
TByteArrayList instance with the
specified capacity. |
| Modifier and Type | Method and Description |
|---|---|
void |
add(byte val)
Adds val to the end of the list, growing as needed.
|
void |
add(byte[] vals)
Adds the values in the array vals to the end of the
list, in order.
|
void |
add(byte[] vals,
int offset,
int length)
Adds a subset of the values in the array vals to the
end of the list, in order.
|
int |
binarySearch(byte value)
Performs a binary search for value in the entire list.
|
int |
binarySearch(byte value,
int fromIndex,
int toIndex)
Performs a binary search for value in the specified
range.
|
void |
clear()
Flushes the internal state of the list, resetting the capacity
to the default.
|
void |
clear(int capacity)
Flushes the internal state of the list, setting the capacity of
the empty list to capacity.
|
java.lang.Object |
clone()
Returns a clone of this list.
|
boolean |
contains(byte value)
Searches the list for value
|
void |
ensureCapacity(int capacity)
Grow the internal array as needed to accommodate the specified
number of elements.
|
boolean |
equals(java.lang.Object other)
Compares this list to another list, value by value.
|
void |
fill(byte val)
Fills every slot in the list with the specified value.
|
void |
fill(int fromIndex,
int toIndex,
byte val)
Fills a range in the list with the specified value.
|
boolean |
forEach(TByteProcedure procedure)
Applies the procedure to each value in the list in ascending
(front to back) order.
|
boolean |
forEachDescending(TByteProcedure procedure)
Applies the procedure to each value in the list in descending
(back to front) order.
|
byte |
get(int offset)
Returns the value at the specified offset.
|
byte |
getQuick(int offset)
Returns the value at the specified offset without doing any
bounds checking.
|
byte |
getSet(int offset,
byte val)
Sets the value at the specified offset and returns the
previously stored value.
|
TByteArrayList |
grep(TByteProcedure condition)
Searches the list for values satisfying condition in
the manner of the *nix grep utility.
|
int |
hashCode() |
int |
indexOf(byte value)
Searches the list front to back for the index of
value.
|
int |
indexOf(int offset,
byte value)
Searches the list front to back for the index of
value, starting at offset.
|
void |
insert(int offset,
byte value)
Inserts value into the list at offset.
|
void |
insert(int offset,
byte[] values)
Inserts the array of values into the list at
offset.
|
void |
insert(int offset,
byte[] values,
int valOffset,
int len)
Inserts a slice of the array of values into the list
at offset.
|
TByteArrayList |
inverseGrep(TByteProcedure condition)
Searches the list for values which do not satisfy
condition.
|
boolean |
isEmpty()
Tests whether this list contains any values.
|
int |
lastIndexOf(byte value)
Searches the list back to front for the last index of
value.
|
int |
lastIndexOf(int offset,
byte value)
Searches the list back to front for the last index of
value, starting at offset.
|
byte |
max()
Finds the maximum value in the list.
|
byte |
min()
Finds the minimum value in the list.
|
void |
readExternal(java.io.ObjectInput in) |
byte |
remove(int offset)
Removes the value at offset from the list.
|
void |
remove(int offset,
int length)
Removes length values from the list, starting at
offset
|
void |
reset()
Sets the size of the list to 0, but does not change its
capacity.
|
void |
resetQuick()
Sets the size of the list to 0, but does not change its
capacity.
|
void |
reverse()
Reverse the order of the elements in the list.
|
void |
reverse(int from,
int to)
Reverse the order of the elements in the range of the list.
|
void |
set(int offset,
byte val)
Sets the value at the specified offset.
|
void |
set(int offset,
byte[] values)
Replace the values in the list starting at offset with
the contents of the values array.
|
void |
set(int offset,
byte[] values,
int valOffset,
int length)
Replace the values in the list starting at offset with
length values from the values array, starting
at valOffset.
|
void |
setQuick(int offset,
byte val)
Sets the value at the specified offset without doing any bounds
checking.
|
void |
shuffle(java.util.Random rand)
Shuffle the elements of the list using the specified random
number generator.
|
int |
size()
Returns the number of values in the list.
|
void |
sort()
Sort the values in the list (ascending) using the Sun quicksort
implementation.
|
void |
sort(int fromIndex,
int toIndex)
Sort a slice of the list (ascending) using the Sun quicksort
implementation.
|
TByteArrayList |
subList(int begin,
int end)
Returns a sublist of this list.
|
byte[] |
toNativeArray()
Copies the contents of the list into a native array.
|
void |
toNativeArray(byte[] dest,
int offset,
int len)
Copies a slice of the list into a native array.
|
byte[] |
toNativeArray(int offset,
int len)
Copies a slice of the list into a native array.
|
java.lang.String |
toString()
Returns a String representation of the list, front to back.
|
void |
transformValues(TByteFunction function)
Transform each value in the list using the specified function.
|
void |
trimToSize()
Sheds any excess capacity above and beyond the current size of
the list.
|
void |
writeExternal(java.io.ObjectOutput out) |
protected byte[] _data
protected int _pos
protected static final int DEFAULT_CAPACITY
public TByteArrayList()
TByteArrayList instance with the
default capacity.public TByteArrayList(int capacity)
TByteArrayList instance with the
specified capacity.capacity - an int valuepublic TByteArrayList(byte[] values)
TByteArrayList instance whose
capacity is the greater of the length of values and
DEFAULT_CAPACITY and whose initial contents are the specified
values.values - an byte[] valuepublic void ensureCapacity(int capacity)
capacity - an int valuepublic int size()
public boolean isEmpty()
public void trimToSize()
public void add(byte val)
val - an byte valuepublic void add(byte[] vals)
vals - an byte[] valuepublic void add(byte[] vals,
int offset,
int length)
vals - an byte[] valueoffset - the offset at which to start copyinglength - the number of values to copy.public void insert(int offset,
byte value)
offset - an int valuevalue - an byte valuepublic void insert(int offset,
byte[] values)
offset - an int valuevalues - an byte[] valuepublic void insert(int offset,
byte[] values,
int valOffset,
int len)
offset - an int valuevalues - an byte[] valuevalOffset - the offset in the values array at which to
start copying.len - the number of values to copy from the values arraypublic byte get(int offset)
offset - an int valuebyte valuepublic byte getQuick(int offset)
offset - an int valuebyte valuepublic void set(int offset,
byte val)
offset - an int valueval - an byte valuepublic byte getSet(int offset,
byte val)
offset - an int valueval - an byte valuepublic void set(int offset,
byte[] values)
offset - the first offset to replacevalues - the source of the new valuespublic void set(int offset,
byte[] values,
int valOffset,
int length)
offset - the first offset to replacevalues - the source of the new valuesvalOffset - the first value to copy from the values arraylength - the number of values to copypublic void setQuick(int offset,
byte val)
offset - an int valueval - an byte valuepublic void clear()
public void clear(int capacity)
capacity - an int valuepublic void reset()
clear method if you want to recyle a list without
allocating new backing arrays.clear()public void resetQuick()
clear method if you want to recyle a list
without allocating new backing arrays. This method differs
from reset in that it does not clear the old
values in the backing array. Thus, it is possible for getQuick to return stale data if this method is used
and the caller is careless about bounds checking.reset(),
clear(),
getQuick(int)public byte remove(int offset)
offset - an int valuepublic void remove(int offset,
int length)
offset - an int valuelength - an int valuepublic void transformValues(TByteFunction function)
function - a TByteFunction valuepublic void reverse()
public void reverse(int from,
int to)
from - the inclusive index at which to start reversingto - the exclusive index at which to stop reversingpublic void shuffle(java.util.Random rand)
rand - a Random valuepublic java.lang.Object clone()
clone in class java.lang.Objectpublic TByteArrayList subList(int begin, int end)
begin - low endpoint (inclusive) of the subList.end - high endpoint (exclusive) of the subList.java.lang.IndexOutOfBoundsException - - endpoint out of rangejava.lang.IllegalArgumentException - - endpoints out of order (end > begin)public byte[] toNativeArray()
byte[] valuepublic byte[] toNativeArray(int offset,
int len)
offset - the offset at which to start copyinglen - the number of values to copy.byte[] valuepublic void toNativeArray(byte[] dest,
int offset,
int len)
dest - the array to copy into.offset - the offset of the first value to copylen - the number of values to copy.public boolean equals(java.lang.Object other)
equals in class java.lang.Objectother - the object to compare againstpublic int hashCode()
hashCode in class java.lang.Objectpublic boolean forEach(TByteProcedure procedure)
procedure - a TByteProcedure valuepublic boolean forEachDescending(TByteProcedure procedure)
procedure - a TByteProcedure valuepublic void sort()
Arrays.sort(int[])public void sort(int fromIndex,
int toIndex)
fromIndex - the index at which to start sorting (inclusive)toIndex - the index at which to stop sorting (exclusive)Arrays.sort(int[])public void fill(byte val)
val - the value to use when fillingpublic void fill(int fromIndex,
int toIndex,
byte val)
fromIndex - the offset at which to start filling (inclusive)toIndex - the offset at which to stop filling (exclusive)val - the value to use when fillingpublic int binarySearch(byte value)
value - the value to search forpublic int binarySearch(byte value,
int fromIndex,
int toIndex)
value - the value to search forfromIndex - the lower boundary of the range (inclusive)toIndex - the upper boundary of the range (exclusive)public int indexOf(byte value)
value - an byte valuefor faster searches on sorted listspublic int indexOf(int offset,
byte value)
offset - the offset at which to start the linear search
(inclusive)value - an byte valuefor faster searches on sorted listspublic int lastIndexOf(byte value)
value - an byte valuefor faster searches on sorted listspublic int lastIndexOf(int offset,
byte value)
offset - the offset at which to start the linear search
(exclusive)value - an byte valuefor faster searches on sorted listspublic boolean contains(byte value)
value - an byte valuepublic TByteArrayList grep(TByteProcedure condition)
condition - a condition to apply to each element in the listpublic TByteArrayList inverseGrep(TByteProcedure condition)
grep -v.condition - a condition to apply to each element in the listpublic byte max()
java.lang.IllegalStateException - if the list is emptypublic byte min()
java.lang.IllegalStateException - if the list is emptypublic java.lang.String toString()
toString in class java.lang.ObjectString valuepublic void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
writeExternal in interface java.io.Externalizablejava.io.IOExceptionpublic void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
readExternal in interface java.io.Externalizablejava.io.IOExceptionjava.lang.ClassNotFoundExceptionGNU Trove is copyright © 2001-2009 Eric D. Friedman. All Rights Reserved.