public abstract class RandomAccessByteList extends AbstractByteCollection implements ByteList
ByteList
s 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, toArray
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
addAll, clear, contains, containsAll, isEmpty, removeAll, removeElement, retainAll, toArray, toArray
protected RandomAccessByteList()
public abstract byte get(int index)
ByteList
public abstract int size()
ByteCollection
size
in interface ByteCollection
size
in class AbstractByteCollection
public byte removeElementAt(int index)
removeElementAt
in interface ByteList
index
- the index of the element to removeUnsupportedOperationException
- since this method is not supportedpublic byte set(int index, byte element)
set
in interface ByteList
index
- 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 ByteList
index
- the index at which to insert the elementelement
- the value to insertUnsupportedOperationException
- since this method is not supportedpublic boolean add(byte element)
AbstractByteCollection
add
in interface ByteCollection
add
in interface ByteList
add
in class AbstractByteCollection
element
- 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)
ByteList
iterator
.addAll
in interface ByteList
index
- 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)
ByteList
lastIndexOf
in interface ByteList
element
- the element to search for-1
if no such matching element can be foundpublic ByteIterator iterator()
ByteCollection
iterator
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 ByteCollection
iterator
in interface ByteList
iterator
in class AbstractByteCollection
iterator
over all my elements.public ByteListIterator listIterator()
ByteList
bidirectional iterator
over all my elements, in the appropriate sequence.listIterator
in interface ByteList
public ByteListIterator listIterator(int index)
ByteList
bidirectional 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 ByteList
public ByteList subList(int fromIndex, int toIndex)
ByteList
ByteList
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)
ByteList
true
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()
ByteList
ByteList
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 Byte
s.protected int getModCount()
protected void incrModCount()
Copyright © 2002-2013 The Apache Software Foundation. All Rights Reserved.