public static class ObjectLists.Singleton<K> extends AbstractObjectList<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.
AbstractObjectList.ObjectRandomAccessSubList<K>, AbstractObjectList.ObjectSubList<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) |
ObjectListIterator<K> |
iterator()
Returns a type-specific iterator on the elements of this collection.
|
ObjectListIterator<K> |
listIterator()
Returns a type-specific list iterator on the list.
|
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.
|
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. |
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, compareTo, 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)
AbstractObjectListremove in interface java.util.List<K>remove in class AbstractObjectList<K>public boolean contains(java.lang.Object k)
AbstractObjectListcontains in interface java.util.Collection<K>contains in interface java.util.List<K>contains in class AbstractObjectList<K>List.contains(Object)public int indexOf(java.lang.Object k)
indexOf in interface java.util.List<K>indexOf in class AbstractObjectList<K>public java.lang.Object[] toArray()
toArray in interface java.util.Collection<K>toArray in interface java.util.List<K>toArray in class AbstractObjectList<K>public ObjectListIterator<K> listIterator()
AbstractObjectListlistIterator in interface ObjectList<K>listIterator in interface java.util.List<K>listIterator in class AbstractObjectList<K>List.listIterator()public ObjectListIterator<K> iterator()
AbstractObjectListiterator in interface ObjectCollection<K>iterator in interface ObjectIterable<K>iterator in interface ObjectList<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 AbstractObjectList<K>Iterable.iterator()public it.unimi.dsi.fastutil.objects.ObjectSpliterator<K> spliterator()
ObjectListList 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 ObjectCollection<K>spliterator in interface ObjectIterable<K>spliterator in interface ObjectList<K>spliterator in interface java.lang.Iterable<K>spliterator in interface java.util.Collection<K>spliterator in interface java.util.List<K>public ObjectListIterator<K> listIterator(int i)
AbstractObjectListlistIterator in interface ObjectList<K>listIterator in interface java.util.List<K>listIterator in class AbstractObjectList<K>List.listIterator(int)public ObjectList<K> subList(int from, int to)
ObjectListfrom, inclusive, to the index to, exclusive.subList in interface ObjectList<K>subList in interface java.util.List<K>subList in class AbstractObjectList<K>List.subList(int,int)public void forEach(java.util.function.Consumer<? super K> action)
AbstractObjectListforEach in interface java.lang.Iterable<K>forEach in class AbstractObjectList<K>public boolean addAll(int i,
java.util.Collection<? extends K> c)
AbstractObjectListaddAll in interface java.util.List<K>addAll in class AbstractObjectList<K>public boolean addAll(java.util.Collection<? extends K> c)
AbstractObjectListaddAll in interface java.util.Collection<K>addAll in interface java.util.List<K>addAll in class AbstractObjectList<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)
ObjectListPass 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 ObjectList<K>sort in interface java.util.List<K>public void unstableSort(java.util.Comparator<? super K> comparator)
ObjectListList.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 ObjectList<K>public void getElements(int from,
java.lang.Object[] a,
int offset,
int length)
AbstractObjectListThis 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>getElements in class AbstractObjectList<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)
AbstractObjectListThis is a trivial iterator-based based implementation. It is expected that implementations will override this method with a more optimized version.
removeElements in interface ObjectList<K>removeElements in class AbstractObjectList<K>from - the start index (inclusive).to - the end index (exclusive).public void addElements(int index,
K[] a)
AbstractObjectListaddElements in interface ObjectList<K>addElements in class AbstractObjectList<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)
AbstractObjectListThis 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>addElements in class AbstractObjectList<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)
ObjectListsetElements in interface ObjectList<K>a - the array containing the elements.public void setElements(int index,
K[] a)
ObjectListsetElements in interface ObjectList<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)
ObjectList
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 ObjectList<K>setElements in class AbstractObjectList<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)
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 in class AbstractObjectList<K>size - the new size.public void clear()
AbstractObjectListclear in interface java.util.Collection<K>clear in interface java.util.List<K>clear in class AbstractObjectList<K>public java.lang.Object clone()
clone in class java.lang.Object