Class DoubleLists.Singleton
- All Implemented Interfaces:
DoubleCollection,DoubleIterable,DoubleList,DoubleStack,Stack<Double>,Serializable,Cloneable,Comparable<List<? extends Double>>,Iterable<Double>,Collection<Double>,List<Double>,RandomAccess
- Enclosing class:
- DoubleLists
public static class DoubleLists.Singleton extends AbstractDoubleList implements RandomAccess, Serializable, Cloneable
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.doubles.AbstractDoubleList
AbstractDoubleList.DoubleSubList -
Method Summary
Modifier and Type Method Description booleanaddAll(int i, DoubleCollection c)Inserts all of the elements in the specified type-specific collection into this type-specific list at the specified position (optional operation).booleanaddAll(int i, DoubleList c)Inserts all of the elements in the specified type-specific list into this type-specific list at the specified position (optional operation).booleanaddAll(int i, Collection<? extends Double> c)Adds all of the elements in the specified collection to this list (optional operation).booleanaddAll(DoubleCollection c)Adds all elements of the given type-specific collection to this collection.booleanaddAll(DoubleList c)Appends all of the elements in the specified type-specific list to the end of this type-specific list (optional operation).booleanaddAll(Collection<? extends Double> c)voidaddElements(int index, double[] a)Add (hopefully quickly) elements to this type-specific list.voidaddElements(int index, double[] a, int offset, int length)Add (hopefully quickly) elements to this type-specific list.voidclear()Objectclone()booleancontains(double k)Returns true if this list contains the specified element.doublegetDouble(int i)Returns the element at the specified position in this list.DoubleListIteratoriterator()Returns a type-specific iterator on the elements of this collection.DoubleListIteratorlistIterator()Returns a type-specific list iterator on the list.DoubleListIteratorlistIterator(int i)Returns a type-specific list iterator on the list starting at a given index.booleanrem(double k)Removes a single instance of the specified element from this collection, if it is present (optional operation).booleanremoveAll(DoubleCollection c)Remove from this collection all elements in the given type-specific collection.booleanremoveAll(Collection<?> c)doubleremoveDouble(int i)Removes the element at the specified position in this list (optional operation).voidremoveElements(int from, int to)Removes (hopefully quickly) elements of this type-specific list.booleanretainAll(DoubleCollection c)Retains in this collection only elements from the given type-specific collection.booleanretainAll(Collection<?> c)voidsetElements(double[] a)Set (hopefully quickly) elements to match the array given.voidsetElements(int index, double[] a)Set (hopefully quickly) elements to match the array given.voidsetElements(int index, double[] a, int offset, int length)Set (hopefully quickly) elements to match the array given.intsize()voidsize(int size)Sets the size of this list.voidsort(DoubleComparator comparator)Sort a list using a type-specific comparator.voidsort(Comparator<? super Double> comparator)Deprecated.DoubleListsubList(int from, int to)Returns a type-specific view of the portion of this list from the indexfrom, inclusive, to the indexto, exclusive.double[]toDoubleArray()Returns a primitive type array containing the items of this collection.voidunstableSort(DoubleComparator comparator)Sorts this list using a sort not assured to be stable.voidunstableSort(Comparator<? super Double> comparator)Deprecated.Methods inherited from class it.unimi.dsi.fastutil.doubles.AbstractDoubleList
add, add, compareTo, equals, getElements, hashCode, indexOf, lastIndexOf, peekDouble, popDouble, push, set, topDouble, toStringMethods inherited from class it.unimi.dsi.fastutil.doubles.AbstractDoubleCollection
add, contains, containsAll, remove, toArray, toDoubleArrayMethods inherited from interface it.unimi.dsi.fastutil.doubles.DoubleCollection
containsAll, removeIf, removeIf, toArray, toDoubleArrayMethods inherited from interface it.unimi.dsi.fastutil.doubles.DoubleList
add, add, contains, get, indexOf, lastIndexOf, remove, remove, setMethods inherited from interface java.util.List
containsAll, isEmpty, replaceAll, spliterator, toArray, toArray
-
Method Details
-
getDouble
public double getDouble(int i)Description copied from interface:DoubleListReturns the element at the specified position in this list.- Specified by:
getDoublein interfaceDoubleList- See Also:
List.get(int)
-
rem
public boolean rem(double k)Description copied from class:AbstractDoubleListRemoves a single instance of the specified element from this collection, if it is present (optional operation).This implementation delegates to
indexOf().- Specified by:
remin interfaceDoubleCollection- Overrides:
remin classAbstractDoubleList- See Also:
List.remove(Object)
-
removeDouble
public double removeDouble(int i)Description copied from class:AbstractDoubleListRemoves the element at the specified position in this list (optional operation).This implementation always throws an
UnsupportedOperationException.- Specified by:
removeDoublein interfaceDoubleList- Overrides:
removeDoublein classAbstractDoubleList- See Also:
List.remove(int)
-
contains
public boolean contains(double k)Description copied from class:AbstractDoubleListReturns true if this list contains the specified element.This implementation delegates to
indexOf().- Specified by:
containsin interfaceDoubleCollection- Overrides:
containsin classAbstractDoubleList- See Also:
List.contains(Object)
-
toDoubleArray
public double[] toDoubleArray()Description copied from interface:DoubleCollectionReturns a primitive type array containing the items of this collection.- Specified by:
toDoubleArrayin interfaceDoubleCollection- Overrides:
toDoubleArrayin classAbstractDoubleCollection- Returns:
- a primitive type array containing the items of this collection.
- See Also:
Collection.toArray()
-
listIterator
Description copied from class:AbstractDoubleListReturns a type-specific list iterator on the list.This implementation delegates to
listIterator(0).- Specified by:
listIteratorin interfaceDoubleList- Specified by:
listIteratorin interfaceList<Double>- Overrides:
listIteratorin classAbstractDoubleList- See Also:
List.listIterator()
-
iterator
Description copied from class:AbstractDoubleListReturns a type-specific iterator on the elements of this collection.Note that this specification strengthens the one given in
Iterable.iterator(), which was already strengthened in the corresponding type-specific class, but was weakened by the fact that this interface extendsCollection.This implementation delegates to
AbstractDoubleList.listIterator().- Specified by:
iteratorin interfaceCollection<Double>- Specified by:
iteratorin interfaceDoubleCollection- Specified by:
iteratorin interfaceDoubleIterable- Specified by:
iteratorin interfaceDoubleList- Specified by:
iteratorin interfaceIterable<Double>- Specified by:
iteratorin interfaceList<Double>- Overrides:
iteratorin classAbstractDoubleList- Returns:
- a type-specific iterator on the elements of this collection.
- See Also:
Iterable.iterator()
-
listIterator
Description copied from class:AbstractDoubleListReturns a type-specific list iterator on the list starting at a given index.This implementation is based on the random-access methods.
- Specified by:
listIteratorin interfaceDoubleList- Specified by:
listIteratorin interfaceList<Double>- Overrides:
listIteratorin classAbstractDoubleList- See Also:
List.listIterator(int)
-
subList
Description copied from interface:DoubleListReturns a type-specific view of the portion of this list from the indexfrom, inclusive, to the indexto, exclusive.Note that this specification strengthens the one given in
List.subList(int,int).- Specified by:
subListin interfaceDoubleList- Specified by:
subListin interfaceList<Double>- Overrides:
subListin classAbstractDoubleList- See Also:
List.subList(int,int)
-
addAll
Description copied from class:AbstractDoubleListAdds all of the elements in the specified collection to this list (optional operation).- Specified by:
addAllin interfaceList<Double>- Overrides:
addAllin classAbstractDoubleList
-
addAll
Description copied from class:AbstractDoubleListThis implementation delegates to the type-specific version of
List.addAll(int, Collection).- Specified by:
addAllin interfaceCollection<Double>- Specified by:
addAllin interfaceList<Double>- Overrides:
addAllin classAbstractDoubleList
-
removeAll
- Specified by:
removeAllin interfaceCollection<Double>- Specified by:
removeAllin interfaceList<Double>- Overrides:
removeAllin classAbstractCollection<Double>
-
retainAll
- Specified by:
retainAllin interfaceCollection<Double>- Specified by:
retainAllin interfaceList<Double>- Overrides:
retainAllin classAbstractCollection<Double>
-
addAll
Description copied from class:AbstractDoubleListAppends all of the elements in the specified type-specific list to the end of this type-specific list (optional operation).This implementation delegates to the type-specific list version of
List.addAll(int, Collection).- Specified by:
addAllin interfaceDoubleList- Overrides:
addAllin classAbstractDoubleList- See Also:
List.add(int,Object)
-
addAll
Description copied from class:AbstractDoubleListInserts all of the elements in the specified type-specific list into this type-specific list at the specified position (optional operation).This implementation delegates to the type-specific version of
List.addAll(int, Collection).- Specified by:
addAllin interfaceDoubleList- Overrides:
addAllin classAbstractDoubleList- See Also:
List.add(int,Object)
-
addAll
Description copied from interface:DoubleListInserts all of the elements in the specified type-specific collection into this type-specific list at the specified position (optional operation).- Specified by:
addAllin interfaceDoubleList- Overrides:
addAllin classAbstractDoubleList- See Also:
List.addAll(int,java.util.Collection)
-
addAll
Description copied from class:AbstractDoubleListAdds all elements of the given type-specific collection to this collection.This implementation delegates to the type-specific version of
List.addAll(int, Collection).- Specified by:
addAllin interfaceDoubleCollection- Overrides:
addAllin classAbstractDoubleList- Parameters:
c- a type-specific collection.- Returns:
trueif this collection changed as a result of the call.- See Also:
Collection.addAll(Collection)
-
removeAll
Description copied from interface:DoubleCollectionRemove from this collection all elements in the given type-specific collection.- Specified by:
removeAllin interfaceDoubleCollection- Overrides:
removeAllin classAbstractDoubleCollection- Parameters:
c- a type-specific collection.- Returns:
trueif this collection changed as a result of the call.- See Also:
Collection.removeAll(Collection)
-
retainAll
Description copied from interface:DoubleCollectionRetains in this collection only elements from the given type-specific collection.- Specified by:
retainAllin interfaceDoubleCollection- Overrides:
retainAllin classAbstractDoubleCollection- Parameters:
c- a type-specific collection.- Returns:
trueif this collection changed as a result of the call.- See Also:
Collection.retainAll(Collection)
-
sort
Description copied from interface:DoubleListSort a list using a type-specific comparator.Pass
nullto sort using natural ordering.- Specified by:
sortin interfaceDoubleList- See Also:
List.sort(java.util.Comparator)
-
unstableSort
Description copied from interface:DoubleListSorts this list using a sort not assured to be stable.Pass
nullto sort using natural ordering.This differs from
List.sort(java.util.Comparator)in that the results are not assured to be stable, but may be a bit faster.Unless a subclass specifies otherwise, the results of the method if the list is concurrently modified during the sort are unspecified.
- Specified by:
unstableSortin interfaceDoubleList
-
sort
Deprecated.Description copied from interface:DoubleList- Specified by:
sortin interfaceDoubleList- Specified by:
sortin interfaceList<Double>
-
unstableSort
Deprecated.Description copied from interface:DoubleListSorts this list using a sort not assured to be stable.- Specified by:
unstableSortin interfaceDoubleList
-
removeElements
public void removeElements(int from, int to)Description copied from class:AbstractDoubleListRemoves (hopefully quickly) elements of 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:
removeElementsin interfaceDoubleList- Overrides:
removeElementsin classAbstractDoubleList- Parameters:
from- the start index (inclusive).to- the end index (exclusive).
-
addElements
public void addElements(int index, double[] a)Description copied from class:AbstractDoubleListAdd (hopefully quickly) elements to this type-specific list.This implementation delegates to the analogous method for array fragments.
- Specified by:
addElementsin interfaceDoubleList- Overrides:
addElementsin classAbstractDoubleList- Parameters:
index- the index at which to add elements.a- the array containing the elements.
-
addElements
public void addElements(int index, double[] a, int offset, int length)Description copied from class:AbstractDoubleListAdd (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 interfaceDoubleList- Overrides:
addElementsin classAbstractDoubleList- 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(double[] a)Description copied from interface:DoubleListSet (hopefully quickly) elements to match the array given.- Specified by:
setElementsin interfaceDoubleList- Parameters:
a- the array containing the elements.
-
setElements
public void setElements(int index, double[] a)Description copied from interface:DoubleListSet (hopefully quickly) elements to match the array given.- Specified by:
setElementsin interfaceDoubleList- Parameters:
index- the index at which to start setting elements.a- the array containing the elements.
-
setElements
public void setElements(int index, double[] a, int offset, int length)Description copied from interface:DoubleListSet (hopefully quickly) elements to match the array given. Sets each in this list to the corresponding elements in the array, as if by
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.ListIterator iter = listIterator(index); int i = 0; while (i < length) { iter.next(); iter.set(a[offset + i++]); }- Specified by:
setElementsin interfaceDoubleList- 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()- Specified by:
sizein interfaceCollection<Double>- Specified by:
sizein interfaceList<Double>- Specified by:
sizein classAbstractCollection<Double>
-
size
public void size(int size)Description copied from interface:DoubleListSets 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 interfaceDoubleList- Overrides:
sizein classAbstractDoubleList- Parameters:
size- the new size.
-
clear
public void clear()Description copied from class:AbstractDoubleListThis implementation delegates to
AbstractDoubleList.removeElements(int, int).- Specified by:
clearin interfaceCollection<Double>- Specified by:
clearin interfaceList<Double>- Overrides:
clearin classAbstractDoubleList
-
clone
-