Class ObjectLists.Singleton<K>
- java.lang.Object
-
- java.util.AbstractCollection<K>
-
- it.unimi.dsi.fastutil.objects.AbstractObjectCollection<K>
-
- it.unimi.dsi.fastutil.objects.AbstractObjectList<K>
-
- it.unimi.dsi.fastutil.objects.ObjectLists.Singleton<K>
-
- All Implemented Interfaces:
ObjectCollection<K>,ObjectIterable<K>,ObjectList<K>,Stack<K>,java.io.Serializable,java.lang.Cloneable,java.lang.Comparable<java.util.List<? extends K>>,java.lang.Iterable<K>,java.util.Collection<K>,java.util.List<K>,java.util.RandomAccess
- Enclosing class:
- ObjectLists
public static class ObjectLists.Singleton<K> extends AbstractObjectList<K> implements java.util.RandomAccess, java.io.Serializable, java.lang.Cloneable
An immutable class representing a type-specific singleton list.This class may be useful to implement your own in case you subclass a type-specific list.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class it.unimi.dsi.fastutil.objects.AbstractObjectList
AbstractObjectList.ObjectRandomAccessSubList<K>, AbstractObjectList.ObjectSubList<K>
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaddAll(int i, java.util.Collection<? extends K> c)Adds all of the elements in the specified collection to this list (optional operation).booleanaddAll(java.util.Collection<? extends K> c)voidaddElements(int index, K[] a)Add (hopefully quickly) elements to this type-specific list.voidaddElements(int index, K[] a, int offset, int length)Add (hopefully quickly) elements to this type-specific list.voidclear()java.lang.Objectclone()booleancontains(java.lang.Object k)Returns true if this list contains the specified element.voidforEach(java.util.function.Consumer<? super K> action)Kget(int i)voidgetElements(int from, java.lang.Object[] a, int offset, int length)Copies (hopefully quickly) elements of this type-specific list into the given array.intindexOf(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.Kremove(int i)booleanremove(java.lang.Object k)booleanremoveAll(java.util.Collection<?> c)voidremoveElements(int from, int to)Removes (hopefully quickly) elements of this type-specific list.booleanremoveIf(java.util.function.Predicate<? super K> filter)voidreplaceAll(java.util.function.UnaryOperator<K> operator)booleanretainAll(java.util.Collection<?> c)voidsetElements(int index, K[] a)Set (hopefully quickly) elements to match the array given.voidsetElements(int index, K[] a, int offset, int length)Set (hopefully quickly) elements to match the array given.voidsetElements(K[] a)Set (hopefully quickly) elements to match the array given.intsize()voidsize(int size)Sets the size of this list.voidsort(java.util.Comparator<? super K> comparator)Sorts this list using a sort assured to be stable.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 indexfrom, inclusive, to the indexto, exclusive.java.lang.Object[]toArray()voidunstableSort(java.util.Comparator<? super K> comparator)Sorts this list using a sort not assured to be stable.-
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObjectList
add, add, compareTo, equals, hashCode, lastIndexOf, peek, pop, push, set, toArray, top, toString
-
Methods inherited from interface it.unimi.dsi.fastutil.objects.ObjectList
addAll, addAll
-
-
-
-
Method Detail
-
remove
public boolean remove(java.lang.Object k)
-
remove
public K remove(int i)
Description copied from class:AbstractObjectList- Specified by:
removein interfacejava.util.List<K>- Overrides:
removein classAbstractObjectList<K>
-
contains
public boolean contains(java.lang.Object k)
Description copied from class:AbstractObjectListReturns true if this list contains the specified element.- Specified by:
containsin interfacejava.util.Collection<K>- Specified by:
containsin interfacejava.util.List<K>- Overrides:
containsin classAbstractObjectList<K>- See Also:
List.contains(Object)
-
indexOf
public int indexOf(java.lang.Object k)
- Specified by:
indexOfin interfacejava.util.List<K>- Overrides:
indexOfin classAbstractObjectList<K>
-
toArray
public java.lang.Object[] toArray()
- Specified by:
toArrayin interfacejava.util.Collection<K>- Specified by:
toArrayin interfacejava.util.List<K>- Overrides:
toArrayin classAbstractObjectList<K>
-
listIterator
public ObjectListIterator<K> listIterator()
Description copied from class:AbstractObjectListReturns a type-specific list iterator on the list.- Specified by:
listIteratorin interfacejava.util.List<K>- Specified by:
listIteratorin interfaceObjectList<K>- Overrides:
listIteratorin classAbstractObjectList<K>- See Also:
List.listIterator()
-
iterator
public ObjectListIterator<K> iterator()
Description copied from class:AbstractObjectListReturns a type-specific iterator on the elements of this collection.- Specified by:
iteratorin interfacejava.util.Collection<K>- Specified by:
iteratorin interfacejava.lang.Iterable<K>- Specified by:
iteratorin interfacejava.util.List<K>- Specified by:
iteratorin interfaceObjectCollection<K>- Specified by:
iteratorin interfaceObjectIterable<K>- Specified by:
iteratorin interfaceObjectList<K>- Overrides:
iteratorin classAbstractObjectList<K>- Returns:
- a type-specific iterator on the elements of this collection.
- See Also:
Iterable.iterator()
-
spliterator
public ObjectSpliterator<K> spliterator()
Description copied from interface:ObjectListReturns a type-specific spliterator on the elements of this list.List spliterators must report at least
Spliterator.SIZEDandSpliterator.ORDERED.See
List.spliterator()for more documentation on the requirements of the returned spliterator.- Specified by:
spliteratorin interfacejava.util.Collection<K>- Specified by:
spliteratorin interfacejava.lang.Iterable<K>- Specified by:
spliteratorin interfacejava.util.List<K>- Specified by:
spliteratorin interfaceObjectCollection<K>- Specified by:
spliteratorin interfaceObjectIterable<K>- Specified by:
spliteratorin interfaceObjectList<K>- Returns:
- a type-specific spliterator on the elements of this collection.
-
listIterator
public ObjectListIterator<K> listIterator(int i)
Description copied from class:AbstractObjectListReturns a type-specific list iterator on the list starting at a given index.- Specified by:
listIteratorin interfacejava.util.List<K>- Specified by:
listIteratorin interfaceObjectList<K>- Overrides:
listIteratorin classAbstractObjectList<K>- See Also:
List.listIterator(int)
-
subList
public ObjectList<K> subList(int from, int to)
Description copied from interface:ObjectListReturns a type-specific view of the portion of this list from the indexfrom, inclusive, to the indexto, exclusive.- Specified by:
subListin interfacejava.util.List<K>- Specified by:
subListin interfaceObjectList<K>- Overrides:
subListin classAbstractObjectList<K>- See Also:
List.subList(int,int)
-
forEach
public void forEach(java.util.function.Consumer<? super K> action)
Description copied from class:AbstractObjectList- Specified by:
forEachin interfacejava.lang.Iterable<K>- Overrides:
forEachin classAbstractObjectList<K>
-
addAll
public boolean addAll(int i, java.util.Collection<? extends K> c)Description copied from class:AbstractObjectListAdds all of the elements in the specified collection to this list (optional operation).- Specified by:
addAllin interfacejava.util.List<K>- Overrides:
addAllin classAbstractObjectList<K>
-
addAll
public boolean addAll(java.util.Collection<? extends K> c)
Description copied from class:AbstractObjectList- Specified by:
addAllin interfacejava.util.Collection<K>- Specified by:
addAllin interfacejava.util.List<K>- Overrides:
addAllin classAbstractObjectList<K>
-
removeAll
public boolean removeAll(java.util.Collection<?> c)
-
retainAll
public boolean retainAll(java.util.Collection<?> c)
-
removeIf
public boolean removeIf(java.util.function.Predicate<? super K> filter)
- Specified by:
removeIfin interfacejava.util.Collection<K>
-
replaceAll
public void replaceAll(java.util.function.UnaryOperator<K> operator)
- Specified by:
replaceAllin interfacejava.util.List<K>
-
sort
public void sort(java.util.Comparator<? super K> comparator)
Description copied from interface:ObjectListSorts this list using a sort assured to be stable.Pass
nullto 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.
- Specified by:
sortin interfacejava.util.List<K>- Specified by:
sortin interfaceObjectList<K>
-
unstableSort
public void unstableSort(java.util.Comparator<? super K> comparator)
Description copied from interface:ObjectListSorts this list using a sort not assured to be stable. This differs fromList.sort(java.util.Comparator)in that the results are not assured to be stable, but may be a bit faster.Pass
nullto 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.
- Specified by:
unstableSortin interfaceObjectList<K>
-
getElements
public void getElements(int from, java.lang.Object[] a, int offset, int length)Description copied from class:AbstractObjectListCopies (hopefully quickly) elements of this type-specific list into the given array.This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
- Specified by:
getElementsin interfaceObjectList<K>- Overrides:
getElementsin classAbstractObjectList<K>- Parameters:
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.
-
removeElements
public void removeElements(int from, int to)Description copied from class:AbstractObjectListRemoves (hopefully quickly) elements of this type-specific list.This is a trivial iterator-based based implementation. It is expected that implementations will override this method with a more optimized version.
- Specified by:
removeElementsin interfaceObjectList<K>- Overrides:
removeElementsin classAbstractObjectList<K>- Parameters:
from- the start index (inclusive).to- the end index (exclusive).
-
addElements
public void addElements(int index, K[] a)Description copied from class:AbstractObjectListAdd (hopefully quickly) elements to this type-specific list.- Specified by:
addElementsin interfaceObjectList<K>- Overrides:
addElementsin classAbstractObjectList<K>- Parameters:
index- the index at which to add elements.a- the array containing the elements.
-
addElements
public void addElements(int index, K[] a, int offset, int length)Description copied from class:AbstractObjectListAdd (hopefully quickly) elements to this type-specific list.This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
- Specified by:
addElementsin interfaceObjectList<K>- Overrides:
addElementsin classAbstractObjectList<K>- Parameters:
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.
-
setElements
public void setElements(K[] a)
Description copied from interface:ObjectListSet (hopefully quickly) elements to match the array given.- Specified by:
setElementsin interfaceObjectList<K>- Parameters:
a- the array containing the elements.
-
setElements
public void setElements(int index, K[] a)Description copied from interface:ObjectListSet (hopefully quickly) elements to match the array given.- Specified by:
setElementsin interfaceObjectList<K>- Parameters:
index- the index at which to start setting elements.a- the array containing the elements.
-
setElements
public void setElements(int index, K[] a, int offset, int length)Description copied from interface:ObjectListSet (hopefully quickly) elements to match the array given. Sets each in this list to the corresponding elements in the array, as if byListIterator 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.- Specified by:
setElementsin interfaceObjectList<K>- Overrides:
setElementsin classAbstractObjectList<K>- Parameters:
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.
-
size
public int size()
-
size
public void size(int size)
Description copied from interface:ObjectListSets the size of this list.If the specified size is smaller than the current size, the last elements are discarded. Otherwise, they are filled with 0/
null/false.- Specified by:
sizein interfaceObjectList<K>- Overrides:
sizein classAbstractObjectList<K>- Parameters:
size- the new size.
-
clear
public void clear()
Description copied from class:AbstractObjectList- Specified by:
clearin interfacejava.util.Collection<K>- Specified by:
clearin interfacejava.util.List<K>- Overrides:
clearin classAbstractObjectList<K>
-
clone
public java.lang.Object clone()
-
-