public abstract class RandomAccessByteList extends AbstractByteCollection implements ByteList
ByteLists backed
by random access structures like arrays.
Read-only subclasses must override get(int)
and size(). Mutable subclasses
should also override set(int, byte). Variably-sized
subclasses should also override add(byte)
and removeElementAt(int). All other methods
have at least some base implementation derived from
these. Subclasses may choose to override these methods
to provide a more efficient implementation.| Modifier and Type | Class and Description |
|---|---|
protected static class |
RandomAccessByteList.RandomAccessByteListIterator |
protected static class |
RandomAccessByteList.RandomAccessByteSubList |
| Modifier | Constructor and Description |
|---|---|
protected |
RandomAccessByteList()
Constructs an empty list.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(byte element)
Unsupported in this base implementation.
|
void |
add(int index,
byte element)
Unsupported in this implementation.
|
boolean |
addAll(int index,
ByteCollection collection)
Inserts all of the elements in the specified collection into me,
at the specified position (optional operation).
|
boolean |
equals(Object that)
Returns
true iff that is an ByteList
that contains the same elements in the same order as me. |
abstract byte |
get(int index)
Returns the value of the element at the specified position
within me.
|
protected int |
getModCount()
Get my count of structural modifications.
|
int |
hashCode()
Returns my hash code.
|
protected void |
incrModCount()
Increment my count of structural modifications.
|
int |
indexOf(byte element)
Returns the index of the first occurrence
of the specified element within me,
or
-1 if I do not contain
the element. |
ByteIterator |
iterator()
Returns an
iterator over all my elements. |
int |
lastIndexOf(byte element)
Returns the index of the last occurrence
of the specified element within me,
or -1 if I do not contain the element.
|
ByteListIterator |
listIterator()
Returns a
bidirectional iterator
over all my elements, in the appropriate sequence. |
ByteListIterator |
listIterator(int index)
Returns a
bidirectional iterator
over all my elements, in the appropriate sequence,
starting at the specified position. |
byte |
removeElementAt(int index)
Unsupported in this implementation.
|
byte |
set(int index,
byte element)
Unsupported in this implementation.
|
abstract int |
size()
Returns the number of elements I contain.
|
ByteList |
subList(int fromIndex,
int toIndex)
Returns a view of the elements within me
between the specified fromIndex, inclusive, and
toIndex, exclusive.
|
String |
toString() |
addAll, clear, contains, containsAll, isEmpty, removeAll, removeElement, retainAll, toArray, toArrayclone, finalize, getClass, notify, notifyAll, wait, wait, waitaddAll, clear, contains, containsAll, isEmpty, removeAll, removeElement, retainAll, toArray, toArrayprotected RandomAccessByteList()
public abstract byte get(int index)
ByteListpublic abstract int size()
ByteCollectionsize in interface ByteCollectionsize in class AbstractByteCollectionpublic byte removeElementAt(int index)
removeElementAt in interface ByteListindex - the index of the element to removeUnsupportedOperationException - since this method is not supportedpublic byte set(int index, byte element)
set in interface ByteListindex - the index of the element to changeelement - the value to be stored at the specified positionUnsupportedOperationException - since this method is not supportedpublic void add(int index, byte element)
add in interface ByteListindex - the index at which to insert the elementelement - the value to insertUnsupportedOperationException - since this method is not supportedpublic boolean add(byte element)
AbstractByteCollectionadd in interface ByteCollectionadd in interface ByteListadd in class AbstractByteCollectionelement - the value whose presence within me is to be ensuredtrue iff I changed as a result of this callpublic boolean addAll(int index, ByteCollection collection)
ByteListiterator.addAll in interface ByteListindex - the index at which to insert the first element from
the specified collectioncollection - the ByteCollection of elements to addtrue iff I changed as a result of this callpublic int indexOf(byte element)
ByteList-1 if I do not contain
the element.public int lastIndexOf(byte element)
ByteListlastIndexOf in interface ByteListelement - the element to search for-1 if no such matching element can be foundpublic ByteIterator iterator()
ByteCollectioniterator over all my elements.
This base interface places no constraints on the order
in which the elements are returned by the returned iterator.iterator in interface ByteCollectioniterator in interface ByteListiterator in class AbstractByteCollectioniterator over all my elements.public ByteListIterator listIterator()
ByteListbidirectional iterator
over all my elements, in the appropriate sequence.listIterator in interface ByteListpublic ByteListIterator listIterator(int index)
ByteListbidirectional iterator
over all my elements, in the appropriate sequence,
starting at the specified position. The
specified index indicates the first
element that would be returned by an initial
call to the
next
method. An initial call to the
previous
method would return the element with the specified
index minus one.listIterator in interface ByteListpublic ByteList subList(int fromIndex, int toIndex)
ByteListByteList
is backed by me, so that any changes in
the returned list are reflected in me, and vice-versa.
The returned list supports all of the optional operations
that I support.
Note that when fromIndex == toIndex,
the returned list is initially empty, and when
fromIndex == 0 && toIndex == size()
the returned list is my "improper" sublist, containing all my elements.
The semantics of the returned list become undefined
if I am structurally modified in any way other than
via the returned list.public boolean equals(Object that)
ByteListtrue iff that is an ByteList
that contains the same elements in the same order as me.
In other words, returns true iff that is
a ByteList that has the same size as me,
and for which the elements returned by its
iterator are equal (==) to
the corresponding elements within me.
(This contract ensures that this method works properly across
different implementations of the ByteList interface.)public int hashCode()
ByteListByteList is defined to be the
result of the following calculation:
int hash = 1;
for(ByteIterator iter = iterator(); iter.hasNext(); ) {
byte value = iter.next();
hash = 31*hash + (int)(value ^ (value >>> 32));
}
This contract ensures that this method is consistent with
equals and with the
hashCode
method of a List of Bytes.protected int getModCount()
protected void incrModCount()
Copyright © 2002-2013 The Apache Software Foundation. All Rights Reserved.