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 | 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)
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) |
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 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
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
clear, containsAll, get, isEmpty, remove, removeAll, replaceAll, retainAll, size, sort, spliterator, toArray, toArray
objectIterator, toArray
parallelStream, removeIf, stream
protected 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 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 Iterable<K>
iterator
in interface Collection<K>
iterator
in interface List<K>
iterator
in interface ObjectCollection<K>
iterator
in interface ObjectIterable<K>
iterator
in interface ObjectList<K>
iterator
in class AbstractObjectCollection<K>
public ObjectListIterator<K> listIterator()
ObjectList
listIterator
in interface List<K>
listIterator
in interface ObjectList<K>
List.listIterator()
public ObjectListIterator<K> listIterator(int index)
ObjectList
listIterator
in interface List<K>
listIterator
in interface ObjectList<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 List<K>
subList
in interface ObjectList<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>
Copyright © 2011–2024. All rights reserved.