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.Object
public 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.Object
other
- the object to compare againstpublic int hashCode()
hashCode
in class java.lang.Object
public 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 lists
public 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 lists
public int lastIndexOf(byte value)
value
- an byte
valuefor faster searches on sorted lists
public 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 lists
public 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.Object
String
valuepublic void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.io.IOException
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.io.IOException
java.lang.ClassNotFoundException
GNU Trove is copyright © 2001-2009 Eric D. Friedman. All Rights Reserved.