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,
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(Collection<? extends 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,
Collection<? extends 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(List<? extends Character> l)
Compares this list to another object.
|
boolean |
contains(char k) |
boolean |
equals(Object o) |
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(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(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.
|
Character |
peek(int i)
Delegates to the corresponding type-specific method.
|
char |
peekChar(int i) |
Character |
pop()
Delegates to the corresponding type-specific method.
|
char |
popChar() |
void |
push(char o) |
void |
push(Character o)
Delegates to the corresponding type-specific method.
|
boolean |
rem(char k)
|
Character |
remove(int index)
Delegates to the corresponding type-specific method.
|
boolean |
remove(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) |
Character |
set(int index,
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. |
Character |
top()
Delegates to the corresponding type-specific method.
|
char |
topChar() |
String |
toString() |
add, charIterator, contains, containsAll, containsAll, isEmpty, rem, removeAll, removeAll, retainAll, retainAll, toArray, toArray, toArray, toCharArray, toCharArray
clear, size
add, clear, contains, containsAll, isEmpty, removeAll, replaceAll, retainAll, size, sort, spliterator, toArray, toArray
charIterator, containsAll, removeAll, retainAll, toArray, toArray, toCharArray, toCharArray
parallelStream, removeIf, stream
public void add(int index, char k)
add
in interface CharList
List.add(int,Object)
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)
set
in interface CharList
List.set(int,Object)
public boolean addAll(int index, Collection<? extends Character> c)
public boolean addAll(Collection<? extends Character> c)
addAll
in interface Collection<Character>
addAll
in interface List<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 Iterable<Character>
iterator
in interface Collection<Character>
iterator
in interface List<Character>
iterator
in class AbstractCharCollection
public CharListIterator listIterator()
CharList
listIterator
in interface CharList
listIterator
in interface List<Character>
List.listIterator()
public CharListIterator listIterator(int index)
CharList
listIterator
in interface CharList
listIterator
in interface List<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)
indexOf
in interface CharList
List.indexOf(Object)
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(Object o)
public int compareTo(List<? extends Character> l)
List
, this method performs a lexicographical comparison; otherwise, it throws a ClassCastException
.compareTo
in interface Comparable<List<? extends 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.ClassCastException
- if the argument is not a list.public int hashCode()
List.hashCode()
.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(Object o)
rem()
.remove
in interface Collection<Character>
remove
in interface List<Character>
remove
in class AbstractCharCollection
public boolean addAll(int index, CharCollection c)
addAll
in interface CharList
List.add(int,Object)
public boolean addAll(int index, CharList l)
addAll
in interface CharList
List.add(int,Object)
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)
addAll
in interface CharList
List.add(int,Object)
public void add(int index, Character ok)
public Character set(int index, Character ok)
public Character get(int index)
public int indexOf(Object ok)
public int lastIndexOf(Object ok)
lastIndexOf
in interface List<Character>
public Character remove(int index)
public void push(Character o)
public Character pop()
public Character top()
public Character peek(int i)
public String toString()
toString
in class AbstractCharCollection