public abstract class RandomAccessCharList extends AbstractCharCollection implements CharList
CharList
s backed
by random access structures like arrays.
Read-only subclasses must override get(int)
and size()
. Mutable subclasses
should also override set(int, char)
. Variably-sized
subclasses should also override add(char)
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 |
RandomAccessCharList.RandomAccessCharListIterator |
protected static class |
RandomAccessCharList.RandomAccessCharSubList |
Modifier | Constructor and Description |
---|---|
protected |
RandomAccessCharList()
Constructs an empty list.
|
Modifier and Type | Method and Description |
---|---|
boolean |
add(char element)
Unsupported in this base implementation.
|
void |
add(int index,
char element)
Unsupported in this implementation.
|
boolean |
addAll(int index,
CharCollection 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 CharList
that contains the same elements in the same order as me. |
abstract char |
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(char element)
Returns the index of the first occurrence
of the specified element within me,
or
-1 if I do not contain
the element. |
CharIterator |
iterator()
Returns an
iterator over all my elements. |
int |
lastIndexOf(char element)
Returns the index of the last occurrence
of the specified element within me,
or -1 if I do not contain the element.
|
CharListIterator |
listIterator()
Returns a
bidirectional iterator
over all my elements, in the appropriate sequence. |
CharListIterator |
listIterator(int index)
Returns a
bidirectional iterator
over all my elements, in the appropriate sequence,
starting at the specified position. |
char |
removeElementAt(int index)
Unsupported in this implementation.
|
char |
set(int index,
char element)
Unsupported in this implementation.
|
abstract int |
size()
Returns the number of elements I contain.
|
CharList |
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 RandomAccessCharList()
public abstract char get(int index)
CharList
public abstract int size()
CharCollection
size
in interface CharCollection
size
in class AbstractCharCollection
public char removeElementAt(int index)
removeElementAt
in interface CharList
index
- the index of the element to removeUnsupportedOperationException
- since this method is not supportedpublic char set(int index, char element)
set
in interface CharList
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, char element)
add
in interface CharList
index
- the index at which to insert the elementelement
- the value to insertUnsupportedOperationException
- since this method is not supportedpublic boolean add(char element)
AbstractCharCollection
add
in interface CharCollection
add
in interface CharList
add
in class AbstractCharCollection
element
- the value whose presence within me is to be ensuredtrue
iff I changed as a result of this callpublic boolean addAll(int index, CharCollection collection)
CharList
iterator
.addAll
in interface CharList
index
- the index at which to insert the first element from
the specified collectioncollection
- the CharCollection
of elements to addtrue
iff I changed as a result of this callpublic int indexOf(char element)
CharList
-1
if I do not contain
the element.public int lastIndexOf(char element)
CharList
lastIndexOf
in interface CharList
element
- the element to search for-1
if no such matching element can be foundpublic CharIterator iterator()
CharCollection
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 CharCollection
iterator
in interface CharList
iterator
in class AbstractCharCollection
iterator
over all my elements.public CharListIterator listIterator()
CharList
bidirectional iterator
over all my elements, in the appropriate sequence.listIterator
in interface CharList
public CharListIterator listIterator(int index)
CharList
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 CharList
public CharList subList(int fromIndex, int toIndex)
CharList
CharList
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)
CharList
true
iff that is an CharList
that contains the same elements in the same order as me.
In other words, returns true
iff that is
a CharList
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 CharList
interface.)public int hashCode()
CharList
CharList
is defined to be the
result of the following calculation:
int hash = 1; for(CharIterator iter = iterator(); iter.hasNext(); ) { char 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 Character
s.protected int getModCount()
protected void incrModCount()
Copyright © 2002-2013 The Apache Software Foundation. All Rights Reserved.