public abstract class AbstractCharList extends AbstractCharCollection implements CharList, CharStack
As an additional bonus, this class implements on top of the list operations a type-specific stack.
Modifier and Type | Class and Description |
---|---|
static class |
AbstractCharList.CharSubList |
Modifier and Type | Method and Description |
---|---|
boolean |
add(char k) |
void |
add(int index,
char k) |
void |
add(int index,
java.lang.Character ok)
Delegates to the corresponding type-specific method.
|
boolean |
addAll(CharCollection c)
Adds all elements of the given type-specific collection to this collection.
|
boolean |
addAll(CharList l) |
boolean |
addAll(java.util.Collection<? extends java.lang.Character> c)
Delegates to a more generic method.
|
boolean |
addAll(int index,
CharCollection c)
Delegates to a more generic method.
|
boolean |
addAll(int index,
CharList l)
Delegates to a more generic method.
|
boolean |
addAll(int index,
java.util.Collection<? extends java.lang.Character> c) |
void |
addElements(int index,
char[] a)
Add (hopefully quickly) elements to this type-specific list.
|
void |
addElements(int index,
char[] a,
int offset,
int length)
Adds elements to this type-specific list one-by-one.
|
CharListIterator |
charListIterator()
Deprecated.
|
CharListIterator |
charListIterator(int index)
Deprecated.
|
CharList |
charSubList(int from,
int to)
Deprecated.
|
int |
compareTo(java.util.List<? extends java.lang.Character> l)
Compares this list to another object.
|
boolean |
contains(char k) |
boolean |
equals(java.lang.Object o) |
java.lang.Character |
get(int index)
Delegates to the corresponding type-specific method.
|
void |
getElements(int from,
char[] a,
int offset,
int length)
Copies element of this type-specific list into the given array one-by-one.
|
int |
hashCode()
Returns the hash code for this list, which is identical to
List.hashCode() . |
int |
indexOf(char k) |
int |
indexOf(java.lang.Object ok)
Delegates to the corresponding type-specific method.
|
CharListIterator |
iterator()
Returns a type-specific iterator on the elements of this collection.
|
int |
lastIndexOf(char k) |
int |
lastIndexOf(java.lang.Object ok)
Delegates to the corresponding type-specific method.
|
CharListIterator |
listIterator()
Returns a type-specific list iterator on the list.
|
CharListIterator |
listIterator(int index)
Returns a type-specific list iterator on the list starting at a given index.
|
java.lang.Character |
peek(int i)
Delegates to the corresponding type-specific method.
|
char |
peekChar(int i) |
java.lang.Character |
pop()
Delegates to the corresponding type-specific method.
|
char |
popChar() |
void |
push(char o) |
void |
push(java.lang.Character o)
Delegates to the corresponding type-specific method.
|
boolean |
rem(char k)
Note that this method should be called
remove() , but the clash
with the similarly named index-based method in the List interface
forces us to use a distinguished name. |
java.lang.Character |
remove(int index)
Delegates to the corresponding type-specific method.
|
boolean |
remove(java.lang.Object o)
Delegates to
rem() . |
char |
removeChar(int i) |
void |
removeElements(int from,
int to)
Removes elements of this type-specific list one-by-one.
|
char |
set(int index,
char k) |
java.lang.Character |
set(int index,
java.lang.Character ok)
Delegates to the corresponding type-specific method.
|
void |
size(int size)
Sets the size of this list.
|
CharList |
subList(int from,
int to)
Returns a type-specific view of the portion of this list from the index
from , inclusive, to the index to , exclusive. |
java.lang.Character |
top()
Delegates to the corresponding type-specific method.
|
char |
topChar() |
java.lang.String |
toString() |
add, charIterator, contains, containsAll, containsAll, isEmpty, rem, removeAll, removeAll, retainAll, retainAll, toArray, toArray, toArray, toCharArray, toCharArray
add, clear, contains, containsAll, isEmpty, removeAll, replaceAll, retainAll, size, sort, spliterator, toArray, toArray
charIterator, containsAll, removeAll, retainAll, toArray, toArray, toCharArray, toCharArray
public void add(int index, char k)
public boolean add(char k)
add
in interface CharCollection
add
in interface CharList
add
in class AbstractCharCollection
Collection.add(Object)
public char removeChar(int i)
removeChar
in interface CharList
List.remove(int)
public char set(int index, char k)
public boolean addAll(int index, java.util.Collection<? extends java.lang.Character> c)
addAll
in interface java.util.List<java.lang.Character>
public boolean addAll(java.util.Collection<? extends java.lang.Character> c)
addAll
in interface java.util.Collection<java.lang.Character>
addAll
in interface java.util.List<java.lang.Character>
addAll
in class AbstractCharCollection
c
- a collection.true
if this collection changed as a result of the call.@Deprecated public CharListIterator charListIterator()
charListIterator
in interface CharList
CharList.listIterator()
@Deprecated public CharListIterator charListIterator(int index)
charListIterator
in interface CharList
CharList.listIterator(int)
public CharListIterator iterator()
CharCollection
Note that this specification strengthens the one given in
Iterable.iterator()
, which was already
strengthened in the corresponding type-specific class,
but was weakened by the fact that this interface extends Collection
.
iterator
in interface CharCollection
iterator
in interface CharIterable
iterator
in interface CharList
iterator
in interface java.lang.Iterable<java.lang.Character>
iterator
in interface java.util.Collection<java.lang.Character>
iterator
in interface java.util.List<java.lang.Character>
iterator
in class AbstractCharCollection
public CharListIterator listIterator()
CharList
listIterator
in interface CharList
listIterator
in interface java.util.List<java.lang.Character>
List.listIterator()
public CharListIterator listIterator(int index)
CharList
listIterator
in interface CharList
listIterator
in interface java.util.List<java.lang.Character>
List.listIterator(int)
public boolean contains(char k)
contains
in interface CharCollection
contains
in class AbstractCharCollection
Collection.contains(Object)
public int indexOf(char k)
public int lastIndexOf(char k)
lastIndexOf
in interface CharList
List.lastIndexOf(Object)
public void size(int size)
CharList
If the specified size is smaller than the current size, the last elements are
discarded. Otherwise, they are filled with 0/null
/false
.
public CharList subList(int from, int to)
CharList
from
, inclusive, to the index to
, exclusive.
Note that this specification strengthens the one given in List.subList(int,int)
.
@Deprecated public CharList charSubList(int from, int to)
charSubList
in interface CharList
List.subList(int,int)
public void removeElements(int from, int to)
This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
removeElements
in interface CharList
from
- the start index (inclusive).to
- the end index (exclusive).public void addElements(int index, char[] a, int offset, int length)
This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
addElements
in interface CharList
index
- the index at which to add elements.a
- the array containing the elements.offset
- the offset of the first element to add.length
- the number of elements to add.public void addElements(int index, char[] a)
CharList
addElements
in interface CharList
index
- the index at which to add elements.a
- the array containing the elements.public void getElements(int from, char[] a, int offset, int length)
This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
getElements
in interface CharList
from
- the start index (inclusive).a
- the destination array.offset
- the offset into the destination array where to store the first element copied.length
- the number of elements to be copied.public boolean equals(java.lang.Object o)
equals
in interface java.util.Collection<java.lang.Character>
equals
in interface java.util.List<java.lang.Character>
equals
in class java.lang.Object
public int compareTo(java.util.List<? extends java.lang.Character> l)
List
, this method performs a lexicographical comparison; otherwise,
it throws a ClassCastException
.compareTo
in interface java.lang.Comparable<java.util.List<? extends java.lang.Character>>
l
- a list.List
, a negative integer,
zero, or a positive integer as this list is lexicographically less than, equal
to, or greater than the argument.java.lang.ClassCastException
- if the argument is not a list.public int hashCode()
List.hashCode()
.hashCode
in interface java.util.Collection<java.lang.Character>
hashCode
in interface java.util.List<java.lang.Character>
hashCode
in class java.lang.Object
public void push(char o)
push
in interface CharStack
Stack.push(Object)
public char popChar()
popChar
in interface CharStack
Stack.pop()
public char topChar()
topChar
in interface CharStack
Stack.top()
public char peekChar(int i)
peekChar
in interface CharStack
Stack.peek(int)
public boolean rem(char k)
CharCollection
remove()
, but the clash
with the similarly named index-based method in the List
interface
forces us to use a distinguished name. For simplicity, the set interfaces reinstates
remove()
.rem
in interface CharCollection
rem
in class AbstractCharCollection
Collection.remove(Object)
public boolean remove(java.lang.Object o)
rem()
.remove
in interface java.util.Collection<java.lang.Character>
remove
in interface java.util.List<java.lang.Character>
remove
in class AbstractCharCollection
public boolean addAll(int index, CharCollection c)
public boolean addAll(int index, CharList l)
public boolean addAll(CharCollection c)
AbstractCharCollection
addAll
in interface CharCollection
addAll
in class AbstractCharCollection
c
- a type-specific collection.true
if this collection changed as a result of the call.Collection.addAll(Collection)
public boolean addAll(CharList l)
public void add(int index, java.lang.Character ok)
add
in interface java.util.List<java.lang.Character>
public java.lang.Character set(int index, java.lang.Character ok)
set
in interface java.util.List<java.lang.Character>
public java.lang.Character get(int index)
get
in interface java.util.List<java.lang.Character>
public int indexOf(java.lang.Object ok)
indexOf
in interface java.util.List<java.lang.Character>
public int lastIndexOf(java.lang.Object ok)
lastIndexOf
in interface java.util.List<java.lang.Character>
public java.lang.Character remove(int index)
remove
in interface java.util.List<java.lang.Character>
public void push(java.lang.Character o)
public java.lang.Character pop()
public java.lang.Character top()
public java.lang.Character peek(int i)
public java.lang.String toString()
toString
in class AbstractCharCollection