public abstract class AbstractObjectList<K> extends AbstractObjectCollection<K> implements ObjectList<K>, Stack<K>
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 |
AbstractObjectList.ObjectSubList<K> |
Modifier and Type | Method and Description |
---|---|
void |
add(int index,
K k) |
boolean |
add(K k) |
boolean |
addAll(Collection<? extends K> c)
Delegates to a more generic method.
|
boolean |
addAll(int index,
Collection<? extends K> c) |
void |
addElements(int index,
K[] a)
Add (hopefully quickly) elements to this type-specific list.
|
void |
addElements(int index,
K[] a,
int offset,
int length)
Adds elements to this type-specific list one-by-one.
|
int |
compareTo(List<? extends K> l)
Compares this list to another object.
|
boolean |
contains(Object k) |
boolean |
equals(Object o) |
void |
getElements(int from,
Object[] 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(Object k) |
ObjectListIterator<K> |
iterator()
Returns a type-specific iterator on the elements of this collection.
|
int |
lastIndexOf(Object k) |
ObjectListIterator<K> |
listIterator()
Returns a type-specific list iterator on the list.
|
ObjectListIterator<K> |
listIterator(int index)
Returns a type-specific list iterator on the list starting at a given index.
|
ObjectListIterator<K> |
objectListIterator()
Deprecated.
|
ObjectListIterator<K> |
objectListIterator(int index)
Deprecated.
|
ObjectList<K> |
objectSubList(int from,
int to)
Deprecated.
|
K |
peek(int i)
Peeks at an element on the stack (optional operation).
|
K |
pop()
Pops the top off the stack.
|
void |
push(K o)
Pushes the given object on the stack.
|
K |
remove(int i) |
void |
removeElements(int from,
int to)
Removes elements of this type-specific list one-by-one.
|
K |
set(int index,
K k) |
void |
size(int size)
Sets the size of this list.
|
ObjectList<K> |
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. |
K |
top()
Peeks at the top of the stack (optional operation).
|
String |
toString() |
containsAll, isEmpty, objectIterator, removeAll, retainAll, toArray, toArray
clear, remove, size
clear, containsAll, get, isEmpty, remove, removeAll, replaceAll, retainAll, size, sort, spliterator, toArray, toArray
objectIterator, toArray
parallelStream, removeIf, stream
public boolean add(K k)
add
in interface Collection<K>
add
in interface List<K>
add
in class AbstractObjectCollection<K>
public boolean addAll(int index, Collection<? extends K> c)
public boolean addAll(Collection<? extends K> c)
addAll
in interface Collection<K>
addAll
in interface List<K>
addAll
in class AbstractObjectCollection<K>
c
- a collection.true
if this collection changed as a result of the call.@Deprecated public ObjectListIterator<K> objectListIterator()
objectListIterator
in interface ObjectList<K>
ObjectList.listIterator()
@Deprecated public ObjectListIterator<K> objectListIterator(int index)
objectListIterator
in interface ObjectList<K>
ObjectList.listIterator(int)
public ObjectListIterator<K> iterator()
ObjectCollection
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 ObjectCollection<K>
iterator
in interface ObjectIterable<K>
iterator
in interface ObjectList<K>
iterator
in interface Iterable<K>
iterator
in interface Collection<K>
iterator
in interface List<K>
iterator
in class AbstractObjectCollection<K>
public ObjectListIterator<K> listIterator()
ObjectList
listIterator
in interface ObjectList<K>
listIterator
in interface List<K>
List.listIterator()
public ObjectListIterator<K> listIterator(int index)
ObjectList
listIterator
in interface ObjectList<K>
listIterator
in interface List<K>
List.listIterator(int)
public boolean contains(Object k)
contains
in interface Collection<K>
contains
in interface List<K>
contains
in class AbstractCollection<K>
public int lastIndexOf(Object k)
lastIndexOf
in interface List<K>
public void size(int size)
ObjectList
If the specified size is smaller than the current size, the last elements are discarded. Otherwise, they are filled with 0/null
/false
.
size
in interface ObjectList<K>
size
- the new size.public ObjectList<K> subList(int from, int to)
ObjectList
from
, inclusive, to the index to
, exclusive.
Note that this specification strengthens the one given in List.subList(int,int)
.
subList
in interface ObjectList<K>
subList
in interface List<K>
List.subList(int,int)
@Deprecated public ObjectList<K> objectSubList(int from, int to)
objectSubList
in interface ObjectList<K>
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 ObjectList<K>
from
- the start index (inclusive).to
- the end index (exclusive).public void addElements(int index, K[] 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 ObjectList<K>
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, K[] a)
ObjectList
addElements
in interface ObjectList<K>
index
- the index at which to add elements.a
- the array containing the elements.public void getElements(int from, Object[] 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 ObjectList<K>
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 K> l)
List
, this method performs a lexicographical comparison; otherwise, it throws a ClassCastException
.compareTo
in interface Comparable<List<? extends K>>
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(K o)
Stack
public K top()
Stack
public K peek(int i)
Stack
public String toString()
toString
in class AbstractObjectCollection<K>