java.util.Collection<K>, java.lang.Comparable<java.util.List<? extends K>>, java.lang.Iterable<K>, java.util.List<K>, ObjectCollection<K>, ObjectIterable<K>AbstractObjectList, AbstractObjectList.ObjectSubList, ByteArrayFrontCodedList, CharArrayFrontCodedList, IntArrayFrontCodedList, LongArrayFrontCodedList, ObjectArrayList, ObjectLists.EmptyList, ObjectLists.Singleton, ObjectLists.SynchronizedList, ObjectLists.SynchronizedRandomAccessList, ObjectLists.UnmodifiableList, ObjectLists.UnmodifiableRandomAccessList, ShortArrayFrontCodedListpublic interface ObjectList<K> extends java.util.List<K>, java.lang.Comparable<java.util.List<? extends K>>, ObjectCollection<K>
List; provides some additional methods that use
polymorphism to avoid (un)boxing.
Note that this type-specific interface extends Comparable: it is
expected that implementing classes perform a lexicographical comparison using
the standard operator "less then" for primitive types, and the usual
compareTo() method for objects.
Additionally, this interface strengthens listIterator(),
listIterator(int) and subList(int,int).
Besides polymorphic methods, this interfaces specifies methods to copy into an array or remove contiguous sublists. Although the abstract implementation of this interface provides simple, one-by-one implementations of these methods, it is expected that concrete implementation override them with optimized versions.
List| Modifier and Type | Method | Description |
|---|---|---|
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 |
getElements(int from,
java.lang.Object[] a,
int offset,
int length) |
Copies (hopefully quickly) elements of this type-specific list into the given
array.
|
ObjectListIterator<K> |
iterator() |
Returns a type-specific iterator on the elements of this list.
|
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.
|
void |
removeElements(int from,
int to) |
Removes (hopefully quickly) elements of this type-specific list.
|
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. |
ObjectListIterator<K> iterator()
Note that this specification strengthens the one given in
List.iterator(). It would not be normally necessary, but
Iterable.iterator() is bizarrily re-specified in
List.
iterator in interface java.util.Collection<K>iterator in interface java.lang.Iterable<K>iterator in interface java.util.List<K>iterator in interface ObjectCollection<K>iterator in interface ObjectIterable<K>Iterable.iterator()ObjectListIterator<K> listIterator()
listIterator in interface java.util.List<K>List.listIterator()ObjectListIterator<K> listIterator(int index)
listIterator in interface java.util.List<K>List.listIterator(int)ObjectList<K> subList(int from, int to)
from, inclusive, to the index to, exclusive.
Note that this specification strengthens the one given in
List.subList(int,int).
subList in interface java.util.List<K>List.subList(int,int)void size(int size)
If the specified size is smaller than the current size, the last elements are
discarded. Otherwise, they are filled with 0/null/false.
size - the new size.void getElements(int from,
java.lang.Object[] a,
int offset,
int length)
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.void removeElements(int from,
int to)
from - the start index (inclusive).to - the end index (exclusive).void addElements(int index,
K[] a)
index - the index at which to add elements.a - the array containing the elements.void addElements(int index,
K[] a,
int offset,
int length)
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.