Class DoubleRBTreeSet
- All Implemented Interfaces:
DoubleBidirectionalIterable
,DoubleCollection
,DoubleIterable
,DoubleSet
,DoubleSortedSet
,java.io.Serializable
,java.lang.Cloneable
,java.lang.Iterable<java.lang.Double>
,java.util.Collection<java.lang.Double>
,java.util.Set<java.lang.Double>
,java.util.SortedSet<java.lang.Double>
public class DoubleRBTreeSet extends AbstractDoubleSortedSet implements java.io.Serializable, java.lang.Cloneable, DoubleSortedSet
The iterators provided by this class are type-specific
bidirectional iterators
.
Moreover, the iterator returned by iterator()
can be safely cast to a
type-specific list iterator.
- See Also:
- Serialized Form
-
Constructor Summary
Constructors Constructor Description DoubleRBTreeSet()
Creates a new empty tree set.DoubleRBTreeSet(double[] a)
Creates a new tree set copying the elements of an array.DoubleRBTreeSet(double[] a, int offset, int length)
Creates a new tree set and fills it with the elements of a given array.DoubleRBTreeSet(double[] a, int offset, int length, java.util.Comparator<? super java.lang.Double> c)
Creates a new tree set and fills it with the elements of a given array using a givenComparator
.DoubleRBTreeSet(double[] a, java.util.Comparator<? super java.lang.Double> c)
Creates a new tree set copying the elements of an array using a givenComparator
.DoubleRBTreeSet(DoubleCollection c)
Creates a new tree set copying a given type-specific collection.DoubleRBTreeSet(DoubleIterator i)
Creates a new tree set using elements provided by a type-specific iterator.DoubleRBTreeSet(DoubleSortedSet s)
Creates a new tree set copying a given type-specific sorted set (and itsComparator
).DoubleRBTreeSet(java.util.Collection<? extends java.lang.Double> c)
Creates a new tree set copying a given collection.DoubleRBTreeSet(java.util.Comparator<? super java.lang.Double> c)
Creates a new empty tree set with the given comparator.DoubleRBTreeSet(java.util.Iterator<?> i)
Creates a new tree set using elements provided by an iterator.DoubleRBTreeSet(java.util.SortedSet<java.lang.Double> s)
Creates a new tree set copying a given sorted set (and itsComparator
). -
Method Summary
Modifier and Type Method Description boolean
add(double k)
Ensures that this collection contains the specified element (optional operation).void
clear()
java.lang.Object
clone()
Returns a deep copy of this tree set.DoubleComparator
comparator()
boolean
contains(double k)
Returnstrue
if this collection contains the specified element.double
firstDouble()
Returns the first (lowest) element currently in this set.DoubleSortedSet
headSet(double to)
Returns a view of the portion of this sorted set whose elements are strictly less thantoElement
.boolean
isEmpty()
DoubleBidirectionalIterator
iterator()
Returns a type-specific iterator on the elements of this collection.DoubleBidirectionalIterator
iterator(double from)
Returns a type-specificBidirectionalIterator
on the elements in this set, starting from a given element of the domain (optional operation).double
lastDouble()
Returns the last (highest) element currently in this set.boolean
remove(double k)
Removes an element from this set.int
size()
DoubleSortedSet
subSet(double from, double to)
Returns a view of the portion of this sorted set whose elements range fromfromElement
, inclusive, totoElement
, exclusive.DoubleSortedSet
tailSet(double from)
Returns a view of the portion of this sorted set whose elements are greater than or equal tofromElement
.Methods inherited from class it.unimi.dsi.fastutil.doubles.AbstractDoubleSet
equals, hashCode, rem
Methods inherited from class it.unimi.dsi.fastutil.doubles.AbstractDoubleCollection
add, addAll, addAll, contains, containsAll, containsAll, forEach, remove, removeAll, removeAll, removeIf, retainAll, retainAll, toArray, toDoubleArray, toDoubleArray, toString
Methods inherited from class java.util.AbstractCollection
toArray, toArray
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
toArray
Methods inherited from interface it.unimi.dsi.fastutil.doubles.DoubleCollection
addAll, containsAll, doubleIterator, doubleParallelStream, doubleSpliterator, doubleStream, parallelStream, removeAll, removeIf, removeIf, removeIf, retainAll, stream, toArray, toDoubleArray, toDoubleArray
Methods inherited from interface it.unimi.dsi.fastutil.doubles.DoubleIterable
forEach, forEach, forEach
Methods inherited from interface it.unimi.dsi.fastutil.doubles.DoubleSortedSet
first, headSet, last, spliterator, subSet, tailSet
Methods inherited from interface java.util.Set
add, addAll, contains, containsAll, equals, hashCode, remove, removeAll, retainAll, toArray, toArray
-
Constructor Details
-
DoubleRBTreeSet
public DoubleRBTreeSet()Creates a new empty tree set. -
DoubleRBTreeSet
public DoubleRBTreeSet(java.util.Comparator<? super java.lang.Double> c)Creates a new empty tree set with the given comparator.- Parameters:
c
- aComparator
(even better, a type-specific comparator).
-
DoubleRBTreeSet
public DoubleRBTreeSet(java.util.Collection<? extends java.lang.Double> c)Creates a new tree set copying a given collection.- Parameters:
c
- a collection to be copied into the new tree set.
-
DoubleRBTreeSet
public DoubleRBTreeSet(java.util.SortedSet<java.lang.Double> s)Creates a new tree set copying a given sorted set (and itsComparator
).- Parameters:
s
- aSortedSet
to be copied into the new tree set.
-
DoubleRBTreeSet
Creates a new tree set copying a given type-specific collection.- Parameters:
c
- a type-specific collection to be copied into the new tree set.
-
DoubleRBTreeSet
Creates a new tree set copying a given type-specific sorted set (and itsComparator
).- Parameters:
s
- a type-specific sorted set to be copied into the new tree set.
-
DoubleRBTreeSet
Creates a new tree set using elements provided by a type-specific iterator.- Parameters:
i
- a type-specific iterator whose elements will fill the set.
-
DoubleRBTreeSet
public DoubleRBTreeSet(java.util.Iterator<?> i)Creates a new tree set using elements provided by an iterator.- Parameters:
i
- an iterator whose elements will fill the set.
-
DoubleRBTreeSet
public DoubleRBTreeSet(double[] a, int offset, int length, java.util.Comparator<? super java.lang.Double> c)Creates a new tree set and fills it with the elements of a given array using a givenComparator
.- Parameters:
a
- an array whose elements will be used to fill the set.offset
- the first element to use.length
- the number of elements to use.c
- aComparator
(even better, a type-specific comparator).
-
DoubleRBTreeSet
public DoubleRBTreeSet(double[] a, int offset, int length)Creates a new tree set and fills it with the elements of a given array.- Parameters:
a
- an array whose elements will be used to fill the set.offset
- the first element to use.length
- the number of elements to use.
-
DoubleRBTreeSet
public DoubleRBTreeSet(double[] a)Creates a new tree set copying the elements of an array.- Parameters:
a
- an array to be copied into the new tree set.
-
DoubleRBTreeSet
public DoubleRBTreeSet(double[] a, java.util.Comparator<? super java.lang.Double> c)Creates a new tree set copying the elements of an array using a givenComparator
.- Parameters:
a
- an array to be copied into the new tree set.c
- aComparator
(even better, a type-specific comparator).
-
-
Method Details
-
add
public boolean add(double k)Description copied from class:AbstractDoubleCollection
Ensures that this collection contains the specified element (optional operation).- Specified by:
add
in interfaceDoubleCollection
- Overrides:
add
in classAbstractDoubleCollection
- See Also:
Collection.add(Object)
-
remove
public boolean remove(double k)Description copied from class:AbstractDoubleSet
Removes an element from this set. Delegates to the type-specificrem()
method implemented by type-specific abstractCollection
superclass.- Specified by:
remove
in interfaceDoubleSet
- Overrides:
remove
in classAbstractDoubleSet
- See Also:
Collection.remove(Object)
-
contains
public boolean contains(double k)Description copied from class:AbstractDoubleCollection
Returnstrue
if this collection contains the specified element.- Specified by:
contains
in interfaceDoubleCollection
- Overrides:
contains
in classAbstractDoubleCollection
- See Also:
Collection.contains(Object)
-
clear
public void clear()- Specified by:
clear
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
clear
in interfacejava.util.Set<java.lang.Double>
- Overrides:
clear
in classjava.util.AbstractCollection<java.lang.Double>
-
size
public int size()- Specified by:
size
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
size
in interfacejava.util.Set<java.lang.Double>
- Specified by:
size
in classjava.util.AbstractCollection<java.lang.Double>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
isEmpty
in interfacejava.util.Set<java.lang.Double>
- Overrides:
isEmpty
in classjava.util.AbstractCollection<java.lang.Double>
-
firstDouble
public double firstDouble()Description copied from interface:DoubleSortedSet
Returns the first (lowest) element currently in this set.- Specified by:
firstDouble
in interfaceDoubleSortedSet
- See Also:
SortedSet.first()
-
lastDouble
public double lastDouble()Description copied from interface:DoubleSortedSet
Returns the last (highest) element currently in this set.- Specified by:
lastDouble
in interfaceDoubleSortedSet
- See Also:
SortedSet.last()
-
iterator
Description copied from interface:DoubleCollection
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 interfaceDoubleBidirectionalIterable
- Specified by:
iterator
in interfaceDoubleCollection
- Specified by:
iterator
in interfaceDoubleIterable
- Specified by:
iterator
in interfaceDoubleSet
- Specified by:
iterator
in interfaceDoubleSortedSet
- Specified by:
iterator
in interfacejava.lang.Iterable<java.lang.Double>
- Specified by:
iterator
in interfacejava.util.Set<java.lang.Double>
- Specified by:
iterator
in classAbstractDoubleSortedSet
- Returns:
- a type-specific iterator on the elements of this collection.
- See Also:
Iterable.iterator()
-
iterator
Description copied from interface:DoubleSortedSet
Returns a type-specificBidirectionalIterator
on the elements in this set, starting from a given element of the domain (optional operation).This method returns a type-specific bidirectional iterator with given starting point. The starting point is any element comparable to the elements of this set (even if it does not actually belong to the set). The next element of the returned iterator is the least element of the set that is greater than the starting point (if there are no elements greater than the starting point,
hasNext()
will returnfalse
). The previous element of the returned iterator is the greatest element of the set that is smaller than or equal to the starting point (if there are no elements smaller than or equal to the starting point,hasPrevious()
will returnfalse
).Note that passing the last element of the set as starting point and calling
previous()
you can traverse the entire set in reverse order.- Specified by:
iterator
in interfaceDoubleSortedSet
- Parameters:
from
- an element to start from.- Returns:
- a bidirectional iterator on the element in this set, starting at the given element.
-
comparator
Description copied from interface:DoubleSortedSet
- Specified by:
comparator
in interfaceDoubleSortedSet
- Specified by:
comparator
in interfacejava.util.SortedSet<java.lang.Double>
-
headSet
Description copied from interface:DoubleSortedSet
Returns a view of the portion of this sorted set whose elements are strictly less thantoElement
.- Specified by:
headSet
in interfaceDoubleSortedSet
- See Also:
SortedSet.headSet(Object)
-
tailSet
Description copied from interface:DoubleSortedSet
Returns a view of the portion of this sorted set whose elements are greater than or equal tofromElement
.- Specified by:
tailSet
in interfaceDoubleSortedSet
- See Also:
SortedSet.tailSet(Object)
-
subSet
Description copied from interface:DoubleSortedSet
Returns a view of the portion of this sorted set whose elements range fromfromElement
, inclusive, totoElement
, exclusive.- Specified by:
subSet
in interfaceDoubleSortedSet
- See Also:
SortedSet.subSet(Object,Object)
-
clone
public java.lang.Object clone()Returns a deep copy of this tree set.This method performs a deep copy of this tree set; the data stored in the set, however, is not cloned. Note that this makes a difference only for object keys.
- Returns:
- a deep copy of this tree set.
-