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>
A class implementing a sublist view.
|
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractObjectList() |
| Modifier and Type | Method and Description |
|---|---|
void |
add(int index,
K k) |
boolean |
add(K k) |
boolean |
addAll(Collection<? extends K> c) |
boolean |
addAll(int index,
Collection<? extends K> c)
Adds all of the elements in the specified collection to this list (optional operation).
|
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)
Add (hopefully quickly) elements to this type-specific list.
|
void |
clear() |
int |
compareTo(List<? extends K> l)
Compares this list to another object.
|
boolean |
contains(Object k)
Returns true if this list contains the specified element.
|
protected void |
ensureIndex(int index)
Ensures that the given index is nonnegative and not greater than the list size.
|
protected void |
ensureRestrictedIndex(int index)
Ensures that the given index is nonnegative and smaller than the list size.
|
boolean |
equals(Object o) |
void |
getElements(int from,
Object[] a,
int offset,
int length)
Copies (hopefully quickly) elements of this type-specific list into the given array.
|
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.
|
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 (hopefully quickly) elements of this type-specific list.
|
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, remove, removeAll, retainAll, size, toArray, toArrayclone, finalize, getClass, notify, notifyAll, wait, wait, waitsetElements, setElements, setElements, unstableSortcontainsAll, get, isEmpty, remove, removeAll, replaceAll, retainAll, size, sort, spliterator, toArray, toArrayparallelStream, removeIf, streamprotected void ensureIndex(int index)
index - an index.IndexOutOfBoundsException - if the given index is negative or greater than the list size.protected void ensureRestrictedIndex(int index)
index - an index.IndexOutOfBoundsException - if the given index is negative or not smaller than the list size.public void add(int index,
K k)
This implementation always throws an UnsupportedOperationException.
public boolean add(K k)
This implementation delegates to the type-specific version of List.add(int, Object).
add in interface Collection<K>add in interface List<K>add in class AbstractCollection<K>public K remove(int i)
This implementation always throws an UnsupportedOperationException.
public K set(int index, K k)
This implementation always throws an UnsupportedOperationException.
public boolean addAll(int index,
Collection<? extends K> c)
public boolean addAll(Collection<? extends K> c)
This implementation delegates to the type-specific version of List.addAll(int, Collection).
addAll in interface Collection<K>addAll in interface List<K>addAll in class AbstractCollection<K>public ObjectListIterator<K> iterator()
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.
This implementation delegates to listIterator().
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>Iterable.iterator()public ObjectListIterator<K> listIterator()
This implementation delegates to listIterator(0).
listIterator in interface ObjectList<K>listIterator in interface List<K>List.listIterator()public ObjectListIterator<K> listIterator(int index)
This implementation is based on the random-access methods.
listIterator in interface ObjectList<K>listIterator in interface List<K>List.listIterator(int)public boolean contains(Object k)
This implementation delegates to indexOf().
contains in interface Collection<K>contains in interface List<K>contains in class AbstractCollection<K>List.contains(Object)public int lastIndexOf(Object k)
lastIndexOf in interface List<K>public void size(int size)
ObjectListIf 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)
ObjectListfrom, 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)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)
This implementation delegates to the analogous method for array fragments.
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 void clear()
This implementation delegates to removeElements(int, int).
clear in interface Collection<K>clear in interface List<K>clear in class AbstractCollection<K>public int hashCode()
List.hashCode().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 void push(K o)
Stackpublic K top()
StackThis default implementation returns peek(0).
public K peek(int i)
StackThis default implementation just throws an UnsupportedOperationException.
public String toString()
toString in class AbstractObjectCollection<K>Copyright © 2020. All rights reserved.