public static class ReferenceLists.Singleton<K> extends AbstractReferenceList<K> implements java.util.RandomAccess, java.io.Serializable, java.lang.Cloneable
This class may be useful to implement your own in case you subclass a type-specific list.
AbstractReferenceList.ReferenceRandomAccessSubList<K>, AbstractReferenceList.ReferenceSubList<K>| Modifier | Constructor and Description |
|---|---|
protected |
Singleton(K element) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addAll(java.util.Collection<? extends K> c) |
boolean |
addAll(int i,
java.util.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() |
java.lang.Object |
clone() |
boolean |
contains(java.lang.Object k)
Returns true if this list contains the specified element.
|
void |
forEach(java.util.function.Consumer<? super K> action) |
K |
get(int i) |
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.
|
int |
indexOf(java.lang.Object k) |
it.unimi.dsi.fastutil.objects.ObjectListIterator<K> |
iterator()
Returns a type-specific iterator on the elements of this collection.
|
it.unimi.dsi.fastutil.objects.ObjectListIterator<K> |
listIterator()
Returns a type-specific list iterator on the list.
|
it.unimi.dsi.fastutil.objects.ObjectListIterator<K> |
listIterator(int i)
Returns a type-specific list iterator on the list starting at a given index.
|
K |
remove(int i) |
boolean |
remove(java.lang.Object k) |
boolean |
removeAll(java.util.Collection<?> c) |
void |
removeElements(int from,
int to)
Removes (hopefully quickly) elements of this type-specific list.
|
boolean |
removeIf(java.util.function.Predicate<? super K> filter) |
void |
replaceAll(java.util.function.UnaryOperator<K> operator) |
boolean |
retainAll(java.util.Collection<?> c) |
void |
setElements(int index,
K[] a)
Set (hopefully quickly) elements to match the array given.
|
void |
setElements(int index,
K[] a,
int offset,
int length)
Set (hopefully quickly) elements to match the array given.
|
void |
setElements(K[] a)
Set (hopefully quickly) elements to match the array given.
|
int |
size() |
void |
size(int size)
Sets the size of this list.
|
void |
sort(java.util.Comparator<? super K> comparator)
Sorts this list using a sort assured to be stable.
|
it.unimi.dsi.fastutil.objects.ObjectSpliterator<K> |
spliterator()
Returns a type-specific spliterator on the elements 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. |
java.lang.Object[] |
toArray() |
void |
unstableSort(java.util.Comparator<? super K> comparator)
Sorts this list using a sort not assured to be stable.
|
add, add, ensureIndex, ensureRestrictedIndex, equals, hashCode, lastIndexOf, peek, pop, push, set, toArray, top, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitprotected Singleton(K element)
public boolean remove(java.lang.Object k)
public K remove(int i)
AbstractReferenceListremove in interface java.util.List<K>remove in class AbstractReferenceList<K>public boolean contains(java.lang.Object k)
AbstractReferenceListcontains in interface java.util.Collection<K>contains in interface java.util.List<K>contains in class AbstractReferenceList<K>List.contains(Object)public int indexOf(java.lang.Object k)
indexOf in interface java.util.List<K>indexOf in class AbstractReferenceList<K>public java.lang.Object[] toArray()
toArray in interface java.util.Collection<K>toArray in interface java.util.List<K>toArray in class AbstractReferenceList<K>public it.unimi.dsi.fastutil.objects.ObjectListIterator<K> listIterator()
AbstractReferenceListlistIterator in interface ReferenceList<K>listIterator in interface java.util.List<K>listIterator in class AbstractReferenceList<K>List.listIterator()public it.unimi.dsi.fastutil.objects.ObjectListIterator<K> iterator()
AbstractReferenceListiterator in interface it.unimi.dsi.fastutil.objects.ObjectIterable<K>iterator in interface ReferenceCollection<K>iterator in interface ReferenceList<K>iterator in interface java.lang.Iterable<K>iterator in interface java.util.Collection<K>iterator in interface java.util.List<K>iterator in class AbstractReferenceList<K>public it.unimi.dsi.fastutil.objects.ObjectSpliterator<K> spliterator()
ReferenceListList spliterators must report at least Spliterator.SIZED and Spliterator.ORDERED.
See List.spliterator() for more documentation on the requirements
of the returned spliterator.
spliterator in interface it.unimi.dsi.fastutil.objects.ObjectIterable<K>spliterator in interface ReferenceCollection<K>spliterator in interface ReferenceList<K>spliterator in interface java.lang.Iterable<K>spliterator in interface java.util.Collection<K>spliterator in interface java.util.List<K>public it.unimi.dsi.fastutil.objects.ObjectListIterator<K> listIterator(int i)
AbstractReferenceListlistIterator in interface ReferenceList<K>listIterator in interface java.util.List<K>listIterator in class AbstractReferenceList<K>List.listIterator(int)public ReferenceList<K> subList(int from, int to)
ReferenceListfrom, inclusive, to the index to, exclusive.subList in interface ReferenceList<K>subList in interface java.util.List<K>subList in class AbstractReferenceList<K>List.subList(int,int)public void forEach(java.util.function.Consumer<? super K> action)
AbstractReferenceListforEach in interface java.lang.Iterable<K>forEach in class AbstractReferenceList<K>public boolean addAll(int i,
java.util.Collection<? extends K> c)
AbstractReferenceListaddAll in interface java.util.List<K>addAll in class AbstractReferenceList<K>public boolean addAll(java.util.Collection<? extends K> c)
AbstractReferenceListaddAll in interface java.util.Collection<K>addAll in interface java.util.List<K>addAll in class AbstractReferenceList<K>public boolean removeAll(java.util.Collection<?> c)
public boolean retainAll(java.util.Collection<?> c)
public boolean removeIf(java.util.function.Predicate<? super K> filter)
removeIf in interface java.util.Collection<K>public void replaceAll(java.util.function.UnaryOperator<K> operator)
replaceAll in interface java.util.List<K>public void sort(java.util.Comparator<? super K> comparator)
ReferenceListPass null to sort using natural ordering.
Unless a subclass specifies otherwise, the results of the method if the list is concurrently modified during the sort are unspecified.
sort in interface ReferenceList<K>sort in interface java.util.List<K>public void unstableSort(java.util.Comparator<? super K> comparator)
ReferenceListList.sort(java.util.Comparator) in that the results are
not assured to be stable, but may be a bit faster.
Pass null to sort using natural ordering.
Unless a subclass specifies otherwise, the results of the method if the list is concurrently modified during the sort are unspecified.
unstableSort in interface ReferenceList<K>public void getElements(int from,
java.lang.Object[] a,
int offset,
int length)
AbstractReferenceListThis is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
getElements in interface ReferenceList<K>getElements in class AbstractReferenceList<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 removeElements(int from,
int to)
AbstractReferenceListThis is a trivial iterator-based based implementation. It is expected that implementations will override this method with a more optimized version.
removeElements in interface ReferenceList<K>removeElements in class AbstractReferenceList<K>from - the start index (inclusive).to - the end index (exclusive).public void addElements(int index,
K[] a)
AbstractReferenceListaddElements in interface ReferenceList<K>addElements in class AbstractReferenceList<K>index - the index at which to add elements.a - the array containing the elements.public void addElements(int index,
K[] a,
int offset,
int length)
AbstractReferenceListThis is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
addElements in interface ReferenceList<K>addElements in class AbstractReferenceList<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 setElements(K[] a)
ReferenceListsetElements in interface ReferenceList<K>a - the array containing the elements.public void setElements(int index,
K[] a)
ReferenceListsetElements in interface ReferenceList<K>index - the index at which to start setting elements.a - the array containing the elements.public void setElements(int index,
K[] a,
int offset,
int length)
ReferenceList
ListIterator iter = listIterator(index);
int i = 0;
while (i < length) {
iter.next();
iter.set(a[offset + i++]);
}
However, the exact implementation may be more efficient, taking into account
whether random access is faster or not, or at the discretion of subclasses,
abuse internals.setElements in interface ReferenceList<K>setElements in class AbstractReferenceList<K>index - the index at which to start setting elements.a - the array containing the elementsoffset - the offset of the first element to add.length - the number of elements to add.public int size()
public void size(int size)
ReferenceListIf 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 ReferenceList<K>size in class AbstractReferenceList<K>size - the new size.public void clear()
AbstractReferenceListclear in interface java.util.Collection<K>clear in interface java.util.List<K>clear in class AbstractReferenceList<K>public java.lang.Object clone()
clone in class java.lang.Object