public interface ReferenceList<K> extends List<K>, ReferenceCollection<K>
List; provides some additional methods that use polymorphism to avoid (un)boxing.
Additionally, this interface strengthens iterator(), listIterator(), listIterator(int) and subList(int,int). The former had been already strengthened
upstream, but unfortunately List re-specifies it.
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 and 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,
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 (in proper sequence).
|
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.
As of
fastutil 5, replaced by listIterator(). |
ObjectListIterator<K> |
objectListIterator(int index)
Deprecated.
As of
fastutil 5, replaced by listIterator(int). |
ReferenceList<K> |
referenceSubList(int from,
int to)
Deprecated.
As of
fastutil 5, replaced by subList(int,int). |
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.
|
ReferenceList<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. |
add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, lastIndexOf, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliterator, toArray, toArrayobjectIterator, toArrayparallelStream, removeIf, streamObjectListIterator<K> iterator()
List.iterator(). It would not be normally necessary, but Iterable.iterator() is bizarrily re-specified in
List.iterator in interface Collection<K>iterator in interface Iterable<K>iterator in interface List<K>iterator in interface ObjectIterable<K>iterator in interface ReferenceCollection<K>@Deprecated ObjectListIterator<K> objectListIterator()
fastutil 5, replaced by listIterator().listIterator()@Deprecated ObjectListIterator<K> objectListIterator(int index)
fastutil 5, replaced by listIterator(int).listIterator(int)ObjectListIterator<K> listIterator()
listIterator in interface List<K>List.listIterator()ObjectListIterator<K> listIterator(int index)
listIterator in interface List<K>List.listIterator(int)@Deprecated ReferenceList<K> referenceSubList(int from, int to)
fastutil 5, replaced by subList(int,int).from, inclusive, to the index to, exclusive.List.subList(int,int)ReferenceList<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 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,
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.