Class DoubleLists.Singleton
- java.lang.Object
-
- java.util.AbstractCollection<java.lang.Double>
-
- it.unimi.dsi.fastutil.doubles.AbstractDoubleCollection
-
- it.unimi.dsi.fastutil.doubles.AbstractDoubleList
-
- it.unimi.dsi.fastutil.doubles.DoubleLists.Singleton
-
- All Implemented Interfaces:
DoubleCollection
,DoubleIterable
,DoubleList
,DoubleStack
,Stack<java.lang.Double>
,java.io.Serializable
,java.lang.Cloneable
,java.lang.Comparable<java.util.List<? extends java.lang.Double>>
,java.lang.Iterable<java.lang.Double>
,java.util.Collection<java.lang.Double>
,java.util.List<java.lang.Double>
,java.util.RandomAccess
- Enclosing class:
- DoubleLists
public static class DoubleLists.Singleton extends AbstractDoubleList 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.doubles.AbstractDoubleList
AbstractDoubleList.DoubleRandomAccessSubList, AbstractDoubleList.DoubleSubList
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
addAll(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).boolean
addAll(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).boolean
addAll(int i, java.util.Collection<? extends java.lang.Double> c)
Adds all of the elements in the specified collection to this list (optional operation).boolean
addAll(DoubleCollection c)
Adds all elements of the given type-specific collection to this collection.boolean
addAll(DoubleList c)
Appends all of the elements in the specified type-specific list to the end of this type-specific list (optional operation).boolean
addAll(java.util.Collection<? extends java.lang.Double> c)
void
addElements(int index, double[] a)
Add (hopefully quickly) elements to this type-specific list.void
addElements(int index, double[] a, int offset, int length)
Add (hopefully quickly) elements to this type-specific list.void
clear()
java.lang.Object
clone()
boolean
contains(double k)
Returns true if this list contains the specified element.void
forEach(java.util.function.Consumer<? super java.lang.Double> action)
Deprecated.void
forEach(java.util.function.DoubleConsumer action)
Performs the given action for each element of this type-specificIterable
until all elements have been processed or the action throws an exception.double
getDouble(int i)
Returns the element at the specified position in this list.void
getElements(int from, double[] a, int offset, int length)
Copies (hopefully quickly) elements of this type-specific list into the given array.int
indexOf(double k)
Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.DoubleListIterator
iterator()
Returns a type-specific iterator on the elements of this collection.DoubleListIterator
listIterator()
Returns a type-specific list iterator on the list.DoubleListIterator
listIterator(int i)
Returns a type-specific list iterator on the list starting at a given index.boolean
rem(double k)
Removes a single instance of the specified element from this collection, if it is present (optional operation).boolean
removeAll(DoubleCollection c)
Remove from this collection all elements in the given type-specific collection.boolean
removeAll(java.util.Collection<?> c)
double
removeDouble(int i)
Removes the element at the specified position in this list (optional operation).void
removeElements(int from, int to)
Removes (hopefully quickly) elements of this type-specific list.boolean
removeIf(java.util.function.DoublePredicate filter)
Remove from this collection all elements which satisfy the given predicate.boolean
removeIf(java.util.function.Predicate<? super java.lang.Double> filter)
Deprecated.void
replaceAll(java.util.function.DoubleUnaryOperator operator)
Replaces each element of this list with the result of applying the operator to that element.void
replaceAll(java.util.function.UnaryOperator<java.lang.Double> operator)
Deprecated.boolean
retainAll(DoubleCollection c)
Retains in this collection only elements from the given type-specific collection.boolean
retainAll(java.util.Collection<?> c)
void
setElements(double[] a)
Set (hopefully quickly) elements to match the array given.void
setElements(int index, double[] a)
Set (hopefully quickly) elements to match the array given.void
setElements(int index, double[] a, int offset, int length)
Set (hopefully quickly) elements to match the array given.int
size()
void
size(int size)
Sets the size of this list.void
sort(DoubleComparator comparator)
Sort a list using a type-specific comparator.void
sort(java.util.Comparator<? super java.lang.Double> comparator)
Deprecated.DoubleSpliterator
spliterator()
Returns a type-specific spliterator on the elements of this list.DoubleList
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()
Deprecated.double[]
toDoubleArray()
Returns a primitive type array containing the items of this collection.void
unstableSort(DoubleComparator comparator)
Sorts this list using a sort not assured to be stable.void
unstableSort(java.util.Comparator<? super java.lang.Double> comparator)
Deprecated.-
Methods inherited from class it.unimi.dsi.fastutil.doubles.AbstractDoubleList
add, add, compareTo, equals, hashCode, lastIndexOf, peekDouble, popDouble, push, replaceAll, set, toArray, topDouble, toString
-
Methods inherited from class it.unimi.dsi.fastutil.doubles.AbstractDoubleCollection
add, contains, containsAll, containsAll, forEach, remove, removeIf, toDoubleArray
-
Methods inherited from interface it.unimi.dsi.fastutil.doubles.DoubleCollection
containsAll, doubleIterator, doubleParallelStream, doubleSpliterator, doubleStream, parallelStream, removeIf, stream, toDoubleArray
-
Methods inherited from interface it.unimi.dsi.fastutil.doubles.DoubleIterable
forEach
-
Methods inherited from interface it.unimi.dsi.fastutil.doubles.DoubleList
add, add, contains, get, indexOf, lastIndexOf, remove, remove, set
-
Methods inherited from interface it.unimi.dsi.fastutil.doubles.DoubleStack
peek, pop, push, top
-
-
-
-
Method Detail
-
getDouble
public double getDouble(int i)
Description copied from interface:DoubleList
Returns the element at the specified position in this list.- Specified by:
getDouble
in interfaceDoubleList
- See Also:
List.get(int)
-
rem
public boolean rem(double k)
Description copied from class:AbstractDoubleList
Removes a single instance of the specified element from this collection, if it is present (optional operation).- Specified by:
rem
in interfaceDoubleCollection
- Overrides:
rem
in classAbstractDoubleList
- See Also:
List.remove(Object)
-
removeDouble
public double removeDouble(int i)
Description copied from class:AbstractDoubleList
Removes the element at the specified position in this list (optional operation).- Specified by:
removeDouble
in interfaceDoubleList
- Overrides:
removeDouble
in classAbstractDoubleList
- See Also:
List.remove(int)
-
contains
public boolean contains(double k)
Description copied from class:AbstractDoubleList
Returns true if this list contains the specified element.- Specified by:
contains
in interfaceDoubleCollection
- Overrides:
contains
in classAbstractDoubleList
- See Also:
List.contains(Object)
-
indexOf
public int indexOf(double k)
Description copied from interface:DoubleList
Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.- Specified by:
indexOf
in interfaceDoubleList
- Overrides:
indexOf
in classAbstractDoubleList
- See Also:
List.indexOf(Object)
-
toDoubleArray
public double[] toDoubleArray()
Description copied from interface:DoubleCollection
Returns a primitive type array containing the items of this collection.- Specified by:
toDoubleArray
in interfaceDoubleCollection
- Overrides:
toDoubleArray
in classAbstractDoubleList
- Returns:
- a primitive type array containing the items of this collection.
- See Also:
Collection.toArray()
-
listIterator
public DoubleListIterator listIterator()
Description copied from class:AbstractDoubleList
Returns a type-specific list iterator on the list.- Specified by:
listIterator
in interfaceDoubleList
- Specified by:
listIterator
in interfacejava.util.List<java.lang.Double>
- Overrides:
listIterator
in classAbstractDoubleList
- See Also:
List.listIterator()
-
iterator
public DoubleListIterator iterator()
Description copied from class:AbstractDoubleList
Returns a type-specific iterator on the elements of this collection.- Specified by:
iterator
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
iterator
in interfaceDoubleCollection
- Specified by:
iterator
in interfaceDoubleIterable
- Specified by:
iterator
in interfaceDoubleList
- Specified by:
iterator
in interfacejava.lang.Iterable<java.lang.Double>
- Specified by:
iterator
in interfacejava.util.List<java.lang.Double>
- Overrides:
iterator
in classAbstractDoubleList
- Returns:
- a type-specific iterator on the elements of this collection.
- See Also:
Iterable.iterator()
-
spliterator
public DoubleSpliterator spliterator()
Description copied from interface:DoubleList
Returns a type-specific spliterator on the elements of this list.List spliterators must report at least
Spliterator.SIZED
andSpliterator.ORDERED
.See
List.spliterator()
for more documentation on the requirements of the returned spliterator.- Specified by:
spliterator
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
spliterator
in interfaceDoubleCollection
- Specified by:
spliterator
in interfaceDoubleIterable
- Specified by:
spliterator
in interfaceDoubleList
- Specified by:
spliterator
in interfacejava.lang.Iterable<java.lang.Double>
- Specified by:
spliterator
in interfacejava.util.List<java.lang.Double>
- Returns:
- a type-specific spliterator on the elements of this collection.
-
listIterator
public DoubleListIterator listIterator(int i)
Description copied from class:AbstractDoubleList
Returns a type-specific list iterator on the list starting at a given index.- Specified by:
listIterator
in interfaceDoubleList
- Specified by:
listIterator
in interfacejava.util.List<java.lang.Double>
- Overrides:
listIterator
in classAbstractDoubleList
- See Also:
List.listIterator(int)
-
subList
public DoubleList subList(int from, int to)
Description copied from interface:DoubleList
Returns a type-specific view of the portion of this list from the indexfrom
, inclusive, to the indexto
, exclusive.- Specified by:
subList
in interfaceDoubleList
- Specified by:
subList
in interfacejava.util.List<java.lang.Double>
- Overrides:
subList
in classAbstractDoubleList
- See Also:
List.subList(int,int)
-
forEach
@Deprecated public void forEach(java.util.function.Consumer<? super java.lang.Double> action)
Deprecated.Description copied from interface:DoubleIterable
- Specified by:
forEach
in interfaceDoubleIterable
- Specified by:
forEach
in interfacejava.lang.Iterable<java.lang.Double>
-
addAll
public boolean addAll(int i, java.util.Collection<? extends java.lang.Double> c)
Description copied from class:AbstractDoubleList
Adds all of the elements in the specified collection to this list (optional operation).- Specified by:
addAll
in interfacejava.util.List<java.lang.Double>
- Overrides:
addAll
in classAbstractDoubleList
-
addAll
public boolean addAll(java.util.Collection<? extends java.lang.Double> c)
Description copied from class:AbstractDoubleList
- Specified by:
addAll
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
addAll
in interfacejava.util.List<java.lang.Double>
- Overrides:
addAll
in classAbstractDoubleList
-
removeAll
public boolean removeAll(java.util.Collection<?> c)
Description copied from class:AbstractDoubleCollection
- Specified by:
removeAll
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
removeAll
in interfacejava.util.List<java.lang.Double>
- Overrides:
removeAll
in classAbstractDoubleCollection
-
retainAll
public boolean retainAll(java.util.Collection<?> c)
Description copied from class:AbstractDoubleCollection
- Specified by:
retainAll
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
retainAll
in interfacejava.util.List<java.lang.Double>
- Overrides:
retainAll
in classAbstractDoubleCollection
-
removeIf
@Deprecated public boolean removeIf(java.util.function.Predicate<? super java.lang.Double> filter)
Deprecated.Description copied from interface:DoubleCollection
- Specified by:
removeIf
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
removeIf
in interfaceDoubleCollection
-
replaceAll
@Deprecated public void replaceAll(java.util.function.UnaryOperator<java.lang.Double> operator)
Deprecated.Description copied from interface:DoubleList
- Specified by:
replaceAll
in interfaceDoubleList
- Specified by:
replaceAll
in interfacejava.util.List<java.lang.Double>
-
replaceAll
public void replaceAll(java.util.function.DoubleUnaryOperator operator)
Description copied from interface:DoubleList
Replaces each element of this list with the result of applying the operator to that element.- Specified by:
replaceAll
in interfaceDoubleList
- Parameters:
operator
- the operator to apply to each element.- See Also:
List.replaceAll(java.util.function.UnaryOperator<E>)
-
forEach
public void forEach(java.util.function.DoubleConsumer action)
Description copied from class:AbstractDoubleList
Performs the given action for each element of this type-specificIterable
until all elements have been processed or the action throws an exception.- Specified by:
forEach
in interfaceDoubleIterable
- Overrides:
forEach
in classAbstractDoubleList
- Parameters:
action
- the action to be performed for each element.- See Also:
Iterable.forEach(java.util.function.Consumer)
-
addAll
public boolean addAll(DoubleList c)
Description copied from interface:DoubleList
Appends all of the elements in the specified type-specific list to the end of this type-specific list (optional operation).- Specified by:
addAll
in interfaceDoubleList
- See Also:
List.addAll(Collection)
-
addAll
public boolean addAll(int i, DoubleList c)
Description copied from interface:DoubleList
Inserts all of the elements in the specified type-specific list into this type-specific list at the specified position (optional operation).- Specified by:
addAll
in interfaceDoubleList
- See Also:
List.addAll(int,Collection)
-
addAll
public boolean addAll(int i, DoubleCollection c)
Description copied from interface:DoubleList
Inserts all of the elements in the specified type-specific collection into this type-specific list at the specified position (optional operation).- Specified by:
addAll
in interfaceDoubleList
- Overrides:
addAll
in classAbstractDoubleList
- See Also:
List.addAll(int,java.util.Collection)
-
addAll
public boolean addAll(DoubleCollection c)
Description copied from class:AbstractDoubleList
Adds all elements of the given type-specific collection to this collection.- Specified by:
addAll
in interfaceDoubleCollection
- Overrides:
addAll
in classAbstractDoubleList
- Parameters:
c
- a type-specific collection.- Returns:
true
if this collection changed as a result of the call.- See Also:
Collection.addAll(Collection)
-
removeAll
public boolean removeAll(DoubleCollection c)
Description copied from interface:DoubleCollection
Remove from this collection all elements in the given type-specific collection.- Specified by:
removeAll
in interfaceDoubleCollection
- Overrides:
removeAll
in classAbstractDoubleCollection
- Parameters:
c
- a type-specific collection.- Returns:
true
if this collection changed as a result of the call.- See Also:
Collection.removeAll(Collection)
-
retainAll
public boolean retainAll(DoubleCollection c)
Description copied from interface:DoubleCollection
Retains in this collection only elements from the given type-specific collection.- Specified by:
retainAll
in interfaceDoubleCollection
- Overrides:
retainAll
in classAbstractDoubleCollection
- Parameters:
c
- a type-specific collection.- Returns:
true
if this collection changed as a result of the call.- See Also:
Collection.retainAll(Collection)
-
removeIf
public boolean removeIf(java.util.function.DoublePredicate filter)
Description copied from interface:DoubleCollection
Remove from this collection all elements which satisfy the given predicate.- Specified by:
removeIf
in interfaceDoubleCollection
- Parameters:
filter
- a predicate which returnstrue
for elements to be removed.- Returns:
true
if any elements were removed.- See Also:
Collection.removeIf(java.util.function.Predicate)
-
toArray
@Deprecated public java.lang.Object[] toArray()
Deprecated.- Specified by:
toArray
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
toArray
in interfacejava.util.List<java.lang.Double>
- Overrides:
toArray
in classjava.util.AbstractCollection<java.lang.Double>
-
sort
public void sort(DoubleComparator comparator)
Description copied from interface:DoubleList
Sort a list using a type-specific comparator.Pass
null
to sort using natural ordering.- Specified by:
sort
in interfaceDoubleList
- See Also:
List.sort(java.util.Comparator)
-
unstableSort
public void unstableSort(DoubleComparator comparator)
Description copied from interface:DoubleList
Sorts this list using a sort not assured to be stable.Pass
null
to 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:
unstableSort
in interfaceDoubleList
-
sort
@Deprecated public void sort(java.util.Comparator<? super java.lang.Double> comparator)
Deprecated.Description copied from interface:DoubleList
- Specified by:
sort
in interfaceDoubleList
- Specified by:
sort
in interfacejava.util.List<java.lang.Double>
-
unstableSort
@Deprecated public void unstableSort(java.util.Comparator<? super java.lang.Double> comparator)
Deprecated.Description copied from interface:DoubleList
Sorts this list using a sort not assured to be stable.- Specified by:
unstableSort
in interfaceDoubleList
-
getElements
public void getElements(int from, double[] a, int offset, int length)
Description copied from class:AbstractDoubleList
Copies (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:
getElements
in interfaceDoubleList
- Overrides:
getElements
in classAbstractDoubleList
- 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:AbstractDoubleList
Removes (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:
removeElements
in interfaceDoubleList
- Overrides:
removeElements
in classAbstractDoubleList
- Parameters:
from
- the start index (inclusive).to
- the end index (exclusive).
-
addElements
public void addElements(int index, double[] a)
Description copied from class:AbstractDoubleList
Add (hopefully quickly) elements to this type-specific list.- Specified by:
addElements
in interfaceDoubleList
- Overrides:
addElements
in 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:AbstractDoubleList
Add (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:
addElements
in interfaceDoubleList
- Overrides:
addElements
in 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:DoubleList
Set (hopefully quickly) elements to match the array given.- Specified by:
setElements
in interfaceDoubleList
- Parameters:
a
- the array containing the elements.
-
setElements
public void setElements(int index, double[] a)
Description copied from interface:DoubleList
Set (hopefully quickly) elements to match the array given.- Specified by:
setElements
in 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:DoubleList
Set (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:
setElements
in interfaceDoubleList
- Overrides:
setElements
in classAbstractDoubleList
- 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:
size
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
size
in interfacejava.util.List<java.lang.Double>
- Specified by:
size
in classjava.util.AbstractCollection<java.lang.Double>
-
size
public void size(int size)
Description copied from interface:DoubleList
Sets 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:
size
in interfaceDoubleList
- Overrides:
size
in classAbstractDoubleList
- Parameters:
size
- the new size.
-
clear
public void clear()
Description copied from class:AbstractDoubleList
- Specified by:
clear
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
clear
in interfacejava.util.List<java.lang.Double>
- Overrides:
clear
in classAbstractDoubleList
-
clone
public java.lang.Object clone()
-
-