Package gnu.trove.list.array

# Class TByteArrayList

java.lang.Object
gnu.trove.list.array.TByteArrayList

All Implemented Interfaces:
  `TByteList`, `TByteCollection`, `Externalizable`, `Serializable`

public class TByteArrayList extends Object implements TByteList, Externalizable
A resizable, array-backed list of byte primitives.

See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`protected byte[]`
`_data`
the data of the list
`protected int`
`_pos`
the index after the last entry in the list
`protected static final int`
`DEFAULT_CAPACITY`
the default capacity for new lists
`protected byte`
`no_entry_value`
the byte value that represents null

## Constructor Summary

Constructors
Modifier
Constructor
Description
``
`TByteArrayList()`
Creates a new `TByteArrayList` instance with the default capacity.
``
`TByteArrayList(byte[] values)`
Creates a new `TByteArrayList` instance whose capacity is the length of `values` array and whose initial contents are the specified values.
`protected`
`TByteArrayList(byte[] values, byte no_entry_value, boolean wrap)`
``
`TByteArrayList(int capacity)`
Creates a new `TByteArrayList` instance with the specified capacity.
``
`TByteArrayList(int capacity, byte no_entry_value)`
Creates a new `TByteArrayList` instance with the specified capacity.
``
`TByteArrayList(TByteCollection collection)`
Creates a new `TByteArrayList` instance that contains a copy of the collection passed to us.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`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.
`boolean`
`addAll(byte[] array)`
Adds all of the elements in the `array` to the collection.
`boolean`
`addAll(TByteCollection collection)`
Adds all of the elements in the `TByteCollection` to the collection.
`boolean`
`addAll(Collection<? extends Byte> collection)`
Adds all of the elements in `collection` to the collection.
`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`.
`boolean`
`contains(byte value)`
Searches the list for `value`
`boolean`
`containsAll(byte[] array)`
Tests the collection to determine if all of the elements in `array` are present.
`boolean`
`containsAll(TByteCollection collection)`
Tests the collection to determine if all of the elements in `TByteCollection` are present.
`boolean`
`containsAll(Collection<?> collection)`
Tests the collection to determine if all of the elements in `collection` are present.
`void`
`ensureCapacity(int capacity)`
Grow the internal array as needed to accommodate the specified number of elements.
`boolean`
`equals(Object other)`
Compares the specified object with this collection for equality.
`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`
`getNoEntryValue()`
Returns the value that is used to represent null.
`byte`
`getQuick(int offset)`
Returns the value at the specified offset without doing any bounds checking.
`TByteList`
`grep(TByteProcedure condition)`
Searches the list for values satisfying `condition` in the manner of the *nix `grep` utility.
`int`
`hashCode()`
Returns the hash code value for this collection.
`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`.
`TByteList`
`inverseGrep(TByteProcedure condition)`
Searches the list for values which do not satisfy `condition`.
`boolean`
`isEmpty()`
Tests whether this list contains any values.
`TByteIterator`
`iterator()`
Creates an iterator over the values of the collection.
`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(ObjectInput in)`
`boolean`
`remove(byte value)`
Removes `value` from the list.
`void`
`remove(int offset, int length)`
Removes `length` values from the list, starting at `offset`
`boolean`
`removeAll(byte[] array)`
Removes all of the elements in `array` from the collection.
`boolean`
`removeAll(TByteCollection collection)`
Removes all of the elements in `TByteCollection` from the collection.
`boolean`
`removeAll(Collection<?> collection)`
Removes all of the elements in `collection` from the collection.
`byte`
`removeAt(int offset)`
Removes `value` at a given offset from the list.
`byte`
`replace(int offset, byte val)`
Sets the value at the specified offset and returns the previously stored value.
`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.
`boolean`
`retainAll(byte[] array)`
Removes any values in the collection which are not contained in `array`.
`boolean`
`retainAll(TByteCollection collection)`
Removes any values in the collection which are not contained in `TByteCollection`.
`boolean`
`retainAll(Collection<?> collection)`
Removes any values in the collection which are not contained in `collection`.
`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.
`byte`
`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(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.
`TByteList`
`subList(int begin, int end)`
Returns a sublist of this list.
`byte`
`sum()`
Calculates the sum of all the values in the list.
`byte[]`
`toArray()`
Copies the contents of the list into a native array.
`byte[]`
`toArray(byte[] dest)`
Copies a slice of the list into a native array.
`byte[]`
`toArray(byte[] dest, int offset, int len)`
Copies a slice of the list into a native array.
`byte[]`
`toArray(byte[] dest, int source_pos, int dest_pos, int len)`
Copies a slice of the list into a native array.
`byte[]`
`toArray(int offset, int len)`
Copies a slice of the list into a native array.
`String`
`toString()`
`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.
`static TByteArrayList`
`wrap(byte[] values)`
Returns a primitive List implementation that wraps around the given primitive array.
`static TByteArrayList`
`wrap(byte[] values, byte no_entry_value)`
Returns a primitive List implementation that wraps around the given primitive array.
`void`
`writeExternal(ObjectOutput out)`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Field Details

### _data

protected byte[] _data
the data of the list

### _pos

protected int _pos
the index after the last entry in the list

### DEFAULT_CAPACITY

protected static final int DEFAULT_CAPACITY
the default capacity for new lists

See Also:
  - Constant Field Values

### no_entry_value

protected byte no_entry_value
the byte value that represents null

## Constructor Details

### TByteArrayList

public TByteArrayList()
Creates a new `TByteArrayList` instance with the default capacity.

### TByteArrayList

public TByteArrayList(int capacity)
Creates a new `TByteArrayList` instance with the specified capacity.

Parameters:
  `capacity` - an `int` value

### TByteArrayList

public TByteArrayList(int capacity, byte no_entry_value)
Creates a new `TByteArrayList` instance with the specified capacity.

Parameters:
  `capacity` - an `int` value
  `no_entry_value` - an `byte` value that represents null.

### TByteArrayList

public TByteArrayList(TByteCollection collection)
Creates a new `TByteArrayList` instance that contains a copy of the collection passed to us.

Parameters:
  `collection` - the collection to copy

### TByteArrayList

public TByteArrayList(byte[] values)
Creates a new `TByteArrayList` instance whose capacity is the length of `values` array and whose initial contents are the specified values.

A defensive copy of the given values is held by the new instance.

Parameters:
  `values` - an `byte[]` value

### TByteArrayList

protected TByteArrayList(byte[] values, byte no_entry_value, boolean wrap)

## Method Details

### wrap

public static TByteArrayList wrap(byte[] values)
Returns a primitive List implementation that wraps around the given primitive array.

NOTE: mutating operation are allowed as long as the List does not grow. In that case an IllegalStateException will be thrown

Parameters:
  `values` -
Returns:

### wrap

public static TByteArrayList wrap(byte[] values, byte no_entry_value)
Returns a primitive List implementation that wraps around the given primitive array.

NOTE: mutating operation are allowed as long as the List does not grow. In that case an IllegalStateException will be thrown

Parameters:
  `values` -
  `no_entry_value` -
Returns:

### getNoEntryValue

public byte getNoEntryValue()
Returns the value that is used to represent null. The default value is generally zero, but can be changed during construction of the collection.

Specified by:
  `getNoEntryValue` in interface `TByteCollection`
Specified by:
  `getNoEntryValue` in interface `TByteList`
Returns:
  the value that represents null

### ensureCapacity

public void ensureCapacity(int capacity)
Grow the internal array as needed to accommodate the specified number of elements. The size of the array bytes on each resize unless capacity requires more than twice the current capacity.

### size

public int size()
Returns the number of values in the list.

Specified by:
  `size` in interface `TByteCollection`
Specified by:
  `size` in interface `TByteList`
Returns:
  the number of values in the list.

### isEmpty

public boolean isEmpty()
Tests whether this list contains any values.

Specified by:
  `isEmpty` in interface `TByteCollection`
Specified by:
  `isEmpty` in interface `TByteList`
Returns:
  true if the list is empty.

### trimToSize

public void trimToSize()
Sheds any excess capacity above and beyond the current size of the list.

### add

public boolean add(byte val)
Adds `val` to the end of the list, growing as needed.

Specified by:
  `add` in interface `TByteCollection`
Specified by:
  `add` in interface `TByteList`
Parameters:
  `val` - an `byte` value
Returns:
  true if the list was modified by the add operation

### add

public void add(byte[] vals)
Adds the values in the array `vals` to the end of the list, in order.

Specified by:
  `add` in interface `TByteList`
Parameters:
  `vals` - an `byte[]` value

### add

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

Specified by:
  `add` in interface `TByteList`
Parameters:
  `vals` - an `byte[]` value
  `offset` - the offset at which to start copying
  `length` - the number of values to copy.

### insert

public void insert(int offset, byte value)
Inserts `value` into the list at `offset`. All values including and to the right of `offset` are shifted to the right.

Specified by:
  `insert` in interface `TByteList`
Parameters:
  `offset` - an `int` value
  `value` - an `byte` value

### insert

public void insert(int offset, byte[] values)
Inserts the array of `values` into the list at `offset`. All values including and to the right of `offset` are shifted to the right.

Specified by:
  `insert` in interface `TByteList`
Parameters:
  `offset` - an `int` value
  `values` - an `byte[]` value

### insert

public void insert(int offset, byte[] values, int valOffset, int len)
Inserts a slice of the array of `values` into the list at `offset`. All values including and to the right of `offset` are shifted to the right.

Specified by:
  `insert` in interface `TByteList`
Parameters:
  `offset` - an `int` value
  `values` - an `byte[]` value
  `valOffset` - the offset in the values array at which to start copying.
  `len` - the number of values to copy from the values array

### get

public byte get(int offset)
Returns the value at the specified offset.

Specified by:
  `get` in interface `TByteList`
Parameters:
  `offset` - an `int` value
Returns:
  an `byte` value

### getQuick

public byte getQuick(int offset)
Returns the value at the specified offset without doing any bounds checking.

### set

public byte set(int offset, byte val)
Sets the value at the specified offset.

Specified by:
  `set` in interface `TByteList`
Parameters:
  `offset` - an `int` value
  `val` - an `byte` value
Returns:
  The value previously at the given index.

### replace

public byte replace(int offset, byte val)
Sets the value at the specified offset and returns the previously stored value.

Specified by:
  `replace` in interface `TByteList`
Parameters:
  `offset` - an `int` value
  `val` - an `byte` value
Returns:
  the value previously stored at offset.

### set

public void set(int offset, byte[] values)
Replace the values in the list starting at `offset` with the contents of the `values` array.

Specified by:
  `set` in interface `TByteList`
Parameters:
  `offset` - the first offset to replace
  `values` - the source of the new values

### set

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

Specified by:
  `set` in interface `TByteList`
Parameters:
  `offset` - the first offset to replace
  `values` - the source of the new values
  `valOffset` - the first value to copy from the values array
  `length` - the number of values to copy

### setQuick

public void setQuick(int offset, byte val)
Sets the value at the specified offset without doing any bounds checking.

### clear

public void clear()
Flushes the internal state of the list, resetting the capacity to the default.

Specified by:
  `clear` in interface `TByteCollection`
Specified by:
  `clear` in interface `TByteList`

### clear

public void clear(int capacity)
Flushes the internal state of the list, setting the capacity of the empty list to `capacity`.

### reset

public void reset()
Sets the size of the list to 0, but does not change its capacity. This method can be used as an alternative to the `clear()` method if you want to recycle a list without allocating new backing arrays.

### resetQuick

public void resetQuick()
Sets the size of the list to 0, but does not change its capacity. This method can be used as an alternative to the `clear()` method if you want to recycle 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.

### remove

public boolean remove(byte value)
Removes `value` from the list.

Specified by:
  `remove` in interface `TByteCollection`
Specified by:
  `remove` in interface `TByteList`
Parameters:
  `value` - an `byte` value
Returns:
  true if the list was modified by the remove operation.

### removeAt

public byte removeAt(int offset)
Removes `value` at a given offset from the list.

Specified by:
  `removeAt` in interface `TByteList`
Parameters:
  `offset` - an `int` value that represents the offset to the element to be removed
Returns:
  an `byte` that is the value removed.

### remove

public void remove(int offset, int length)
Removes `length` values from the list, starting at `offset`

Specified by:
  `remove` in interface `TByteList`
Parameters:
  `offset` - an `int` value
  `length` - an `int` value

### iterator

public TByteIterator iterator()
Creates an iterator over the values of the collection. The iterator supports element deletion.

Specified by:
  `iterator` in interface `TByteCollection`
Returns:
  an `TByteIterator` value

### containsAll

public boolean containsAll(Collection<?> collection)
Tests the collection to determine if all of the elements in `collection` are present.

Specified by:
  `containsAll` in interface `TByteCollection`
Parameters:
  `collection` - a `Collection` value
Returns:
  true if all elements were present in the collection.

### containsAll

public boolean containsAll(TByteCollection collection)
Tests the collection to determine if all of the elements in `TByteCollection` are present.

Specified by:
  `containsAll` in interface `TByteCollection`
Parameters:
  `collection` - a `TByteCollection` value
Returns:
  true if all elements were present in the collection.

### containsAll

public boolean containsAll(byte[] array)
Tests the collection to determine if all of the elements in `array` are present.

Specified by:
  `containsAll` in interface `TByteCollection`
Parameters:
  `array` - as `array` of byte primitives.
Returns:
  true if all elements were present in the collection.

### addAll

public boolean addAll(Collection<? extends Byte> collection)
Adds all of the elements in `collection` to the collection.

Specified by:
  `addAll` in interface `TByteCollection`
Parameters:
  `collection` - a `Collection` value
Returns:
  true if the collection was modified by the add all operation.

### addAll

public boolean addAll(TByteCollection collection)
Adds all of the elements in the `TByteCollection` to the collection.

Specified by:
  `addAll` in interface `TByteCollection`
Parameters:
  `collection` - a `TByteCollection` value
Returns:
  true if the collection was modified by the add all operation.

### addAll

public boolean addAll(byte[] array)
Adds all of the elements in the `array` to the collection.

Specified by:
  `addAll` in interface `TByteCollection`
Parameters:
  `array` - a `array` of byte primitives.
Returns:
  true if the collection was modified by the add all operation.

### retainAll

public boolean retainAll(Collection<?> collection)
Removes any values in the collection which are not contained in `collection`.

Specified by:
  `retainAll` in interface `TByteCollection`
Parameters:
  `collection` - a `Collection` value
Returns:
  true if the collection was modified by the retain all operation

### retainAll

public boolean retainAll(TByteCollection collection)
Removes any values in the collection which are not contained in `TByteCollection`.

Specified by:
  `retainAll` in interface `TByteCollection`
Parameters:
  `collection` - a `TByteCollection` value
Returns:
  true if the collection was modified by the retain all operation

### retainAll

public boolean retainAll(byte[] array)
Removes any values in the collection which are not contained in `array`.

Specified by:
  `retainAll` in interface `TByteCollection`
Parameters:
  `array` - an `array` of byte primitives.
Returns:
  true if the collection was modified by the retain all operation

### removeAll

public boolean removeAll(Collection<?> collection)
Removes all of the elements in `collection` from the collection.

Specified by:
  `removeAll` in interface `TByteCollection`
Parameters:
  `collection` - a `Collection` value
Returns:
  true if the collection was modified by the remove all operation.

### removeAll

public boolean removeAll(TByteCollection collection)
Removes all of the elements in `TByteCollection` from the collection.

Specified by:
  `removeAll` in interface `TByteCollection`
Parameters:
  `collection` - a `TByteCollection` value
Returns:
  true if the collection was modified by the remove all operation.

### removeAll

public boolean removeAll(byte[] array)
Removes all of the elements in `array` from the collection.

Specified by:
  `removeAll` in interface `TByteCollection`
Parameters:
  `array` - an `array` of byte primitives.
Returns:
  true if the collection was modified by the remove all operation.

### transformValues

public void transformValues(TByteFunction function)
Transform each value in the list using the specified function.

Specified by:
  `transformValues` in interface `TByteList`
Parameters:
  `function` - a `TByteFunction` value

### reverse

public void reverse()
Reverse the order of the elements in the list.

Specified by:
  `reverse` in interface `TByteList`

### reverse

public void reverse(int from, int to)
Reverse the order of the elements in the range of the list.

Specified by:
  `reverse` in interface `TByteList`
Parameters:
  `from` - the inclusive index at which to start reversing
  `to` - the exclusive index at which to stop reversing

### shuffle

public void shuffle(Random rand)
Shuffle the elements of the list using the specified random number generator.

Specified by:
  `shuffle` in interface `TByteList`
Parameters:
  `rand` - a `Random` value

### subList

public TByteList subList(int begin, int end)
Returns a sublist of this list.

Specified by:
  `subList` in interface `TByteList`
Parameters:
  `begin` - low endpoint (inclusive) of the subList.
  `end` - high endpoint (exclusive) of the subList.
Returns:
  sublist of this list from begin, inclusive to end, exclusive.

### toArray

public byte[] toArray()
Copies the contents of the list into a native array.

Specified by:
  `toArray` in interface `TByteCollection`
Specified by:
  `toArray` in interface `TByteList`
Returns:
  an `byte[]` value

### toArray

public byte[] toArray(int offset, int len)
Copies a slice of the list into a native array.

Specified by:
  `toArray` in interface `TByteList`
Parameters:
  `offset` - the offset at which to start copying
  `len` - the number of values to copy.
Returns:
  an `byte[]` value

### toArray

public byte[] toArray(byte[] dest)
Copies a slice of the list into a native array.

If the list fits in the specified array with room to spare (i.e., the array has more elements than the list), the element in the array immediately following the end of the list is set to ``TByteList.getNoEntryValue()``. (This is useful in determining the length of the list only if the caller knows that the list does not contain any "null" elements.)

NOTE: Trove does not allocate a new array if the array passed in is not large enough to hold all of the data elements. It will instead fill the array passed in.

Specified by:
  `toArray` in interface `TByteCollection`
Specified by:
  `toArray` in interface `TByteList`
Parameters:
  `dest` - the array to copy into.
Returns:
  the array passed in.

### toArray

public byte[] toArray(byte[] dest, int offset, int len)
Copies a slice of the list into a native array.

Specified by:
  `toArray` in interface `TByteList`
Parameters:
  `dest` - the array to copy into.
  `offset` - the offset where the first value should be copied
  `len` - the number of values to copy.
Returns:
  the array passed in.

### toArray

public byte[] toArray(byte[] dest, int source_pos, int dest_pos, int len)
Copies a slice of the list into a native array.

Specified by:
  `toArray` in interface `TByteList`
Parameters:
  `dest` - the array to copy into.
  `source_pos` - the offset of the first value to copy
  `dest_pos` - the offset where the first value should be copied
  `len` - the number of values to copy.
Returns:
  the array passed in.

### equals

public boolean equals(Object other)
Compares the specified object with this collection for equality. Returns `true` if the specified object is also a collection, the two collection have the same size, and every member of the specified collection is contained in this collection (or equivalently, every member of this collection is contained in the specified collection). This definition ensures that the equals method works properly across different implementations of the collection interface.

Specified by:
  `equals` in interface `TByteCollection`
Overrides:
  `equals` in class `Object`
Parameters:
  `other` - object to be compared for equality with this collection
Returns:
  `true` if the specified object is equal to this collection

### hashCode

public int hashCode()
Returns the hash code value for this collection. The hash code of a collection is defined to be the sum of the hash codes of the elements in the collection. This ensures that `s1.equals(s2)` implies that `s1.hashCode()==s2.hashCode()` for any two collection `s1` and `s2`, as required by the general contract of `Object.hashCode()`.

Specified by:
  `hashCode` in interface `TByteCollection`
Overrides:
  `hashCode` in class `Object`
Returns:
  the hash code value for this collection
See Also:
  - `Object.equals(Object)`
  - `Collection.equals(Object)`

### forEach

public boolean forEach(TByteProcedure procedure)
Applies the procedure to each value in the list in ascending (front to back) order.

Specified by:
  `forEach` in interface `TByteCollection`
Specified by:
  `forEach` in interface `TByteList`
Parameters:
  `procedure` - a `TByteProcedure` value
Returns:
  true if the procedure did not terminate prematurely.

### forEachDescending

public boolean forEachDescending(TByteProcedure procedure)
Applies the procedure to each value in the list in descending (back to front) order.

Specified by:
  `forEachDescending` in interface `TByteList`
Parameters:
  `procedure` - a `TByteProcedure` value
Returns:
  true if the procedure did not terminate prematurely.

### sort

public void sort()
Sort the values in the list (ascending) using the Sun quicksort implementation.

Specified by:
  `sort` in interface `TByteList`
See Also:
  - `Arrays.sort(int[])`

### sort

public void sort(int fromIndex, int toIndex)
Sort a slice of the list (ascending) using the Sun quicksort implementation.

Specified by:
  `sort` in interface `TByteList`
Parameters:
  `fromIndex` - the index at which to start sorting (inclusive)
  `toIndex` - the index at which to stop sorting (exclusive)
See Also:
  - `Arrays.sort(int[])`

### fill

public void fill(byte val)
Fills every slot in the list with the specified value.

Specified by:
  `fill` in interface `TByteList`
Parameters:
  `val` - the value to use when filling

### fill

public void fill(int fromIndex, int toIndex, byte val)
Fills a range in the list with the specified value.

Specified by:
  `fill` in interface `TByteList`
Parameters:
  `fromIndex` - the offset at which to start filling (inclusive)
  `toIndex` - the offset at which to stop filling (exclusive)
  `val` - the value to use when filling

### binarySearch

public int binarySearch(byte value)
Performs a binary search for `value` in the entire list. Note that you must @{link #sort sort} the list before doing a search.

Specified by:
  `binarySearch` in interface `TByteList`
Parameters:
  `value` - the value to search for
Returns:
  the absolute offset in the list of the value, or its negative insertion point into the sorted list.

### binarySearch

public int binarySearch(byte value, int fromIndex, int toIndex)
Performs a binary search for `value` in the specified range. Note that you must @{link #sort sort} the list or the range before doing a search.

Specified by:
  `binarySearch` in interface `TByteList`
Parameters:
  `value` - the value to search for
  `fromIndex` - the lower boundary of the range (inclusive)
  `toIndex` - the upper boundary of the range (exclusive)
Returns:
  the absolute offset in the list of the value, or its negative insertion point into the sorted list.

### indexOf

public int indexOf(byte value)
Searches the list front to back for the index of `value`.

Specified by:
  `indexOf` in interface `TByteList`
Parameters:
  `value` - an `byte` value
Returns:
  the first offset of the value, or -1 if it is not in the list.
See Also:
  - `for faster searches on sorted lists`

### indexOf

public int indexOf(int offset, byte value)
Searches the list front to back for the index of `value`, starting at `offset`.

Specified by:
  `indexOf` in interface `TByteList`
Parameters:
  `offset` - the offset at which to start the linear search (inclusive)
  `value` - an `byte` value
Returns:
  the first offset of the value, or -1 if it is not in the list.
See Also:
  - `for faster searches on sorted lists`

### lastIndexOf

public int lastIndexOf(byte value)
Searches the list back to front for the last index of `value`.

Specified by:
  `lastIndexOf` in interface `TByteList`
Parameters:
  `value` - an `byte` value
Returns:
  the last offset of the value, or -1 if it is not in the list.
See Also:
  - `for faster searches on sorted lists`

### lastIndexOf

public int lastIndexOf(int offset, byte value)
Searches the list back to front for the last index of `value`, starting at `offset`.

Specified by:
  `lastIndexOf` in interface `TByteList`
Parameters:
  `offset` - the offset at which to start the linear search (exclusive)
  `value` - an `byte` value
Returns:
  the last offset of the value, or -1 if it is not in the list.
See Also:
  - `for faster searches on sorted lists`

### contains

public boolean contains(byte value)
Searches the list for `value`

Specified by:
  `contains` in interface `TByteCollection`
Specified by:
  `contains` in interface `TByteList`
Parameters:
  `value` - an `byte` value
Returns:
  true if value is in the list.

### grep

public TByteList grep(TByteProcedure condition)
Searches the list for values satisfying `condition` in the manner of the *nix `grep` utility.

Specified by:
  `grep` in interface `TByteList`
Parameters:
  `condition` - a condition to apply to each element in the list
Returns:
  a list of values which match the condition.

### inverseGrep

public TByteList inverseGrep(TByteProcedure condition)
Searches the list for values which do not satisfy `condition`. This is akin to *nix `grep -v`.

Specified by:
  `inverseGrep` in interface `TByteList`
Parameters:
  `condition` - a condition to apply to each element in the list
Returns:
  a list of values which do not match the condition.

### max

public byte max()
Finds the maximum value in the list.

Specified by:
  `max` in interface `TByteList`
Returns:
  the largest value in the list.

### min

public byte min()
Finds the minimum value in the list.

Specified by:
  `min` in interface `TByteList`
Returns:
  the smallest value in the list.

### sum

public byte sum()
Calculates the sum of all the values in the list.

Specified by:
  `sum` in interface `TByteList`
Returns:
  the sum of the values in the list (zero if the list is empty).

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### writeExternal

public void writeExternal(ObjectOutput out) throws IOException

Specified by:
  `writeExternal` in interface `Externalizable`
Throws:
  `IOException`

### readExternal

public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException

Specified by:
  `readExternal` in interface `Externalizable`
Throws:
  `IOException`
  `ClassNotFoundException`