public class DoubleRBTreeSet extends AbstractDoubleSortedSet implements Serializable, 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.
| Constructor and Description |
|---|
DoubleRBTreeSet()
Creates a new empty tree set.
|
DoubleRBTreeSet(Collection<? extends Double> c)
Creates a new tree set copying a given collection.
|
DoubleRBTreeSet(Comparator<? super Double> c)
Creates a new empty tree set with the given comparator.
|
DoubleRBTreeSet(double[] a)
Creates a new tree set copying the elements of an array.
|
DoubleRBTreeSet(double[] a,
Comparator<? super Double> c)
Creates a new tree set copying the elements of an array using a given
Comparator. |
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,
Comparator<? super Double> c)
Creates a new tree set and fills it with the elements of a given array
using a given
Comparator. |
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 its
Comparator). |
DoubleRBTreeSet(Iterator<?> i)
Creates a new tree set using elements provided by an iterator.
|
DoubleRBTreeSet(SortedSet<Double> s)
Creates a new tree set copying a given sorted set (and its
Comparator). |
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(double k) |
void |
clear() |
Object |
clone()
Returns a deep copy of this tree set.
|
DoubleComparator |
comparator()
Returns the comparator associated with this sorted set, or null if it
uses its elements' natural ordering.
|
boolean |
contains(double k) |
double |
firstDouble() |
DoubleSortedSet |
headSet(double to) |
boolean |
isEmpty() |
DoubleBidirectionalIterator |
iterator()
Returns a type-specific iterator on the elements of this collection.
|
DoubleBidirectionalIterator |
iterator(double from)
Returns a type-specific
BidirectionalIterator on the elements in
this set, starting from a given element of the domain (optional
operation). |
double |
lastDouble() |
boolean |
rem(double k)
|
int |
size() |
DoubleSortedSet |
subSet(double from,
double to) |
DoubleSortedSet |
tailSet(double from) |
doubleIterator, first, headSet, last, subSet, tailSetequals, hashCode, removeadd, addAll, addAll, contains, containsAll, containsAll, rem, remove, removeAll, removeAll, retainAll, retainAll, toArray, toArray, toArray, toDoubleArray, toDoubleArray, toStringdoubleIterator, headSet, subSet, tailSetaddAll, containsAll, removeAll, retainAll, toArray, toArray, toDoubleArray, toDoubleArrayfirst, last, spliteratoradd, addAll, contains, containsAll, equals, hashCode, remove, removeAll, retainAll, toArray, toArrayparallelStream, removeIf, streampublic DoubleRBTreeSet()
public DoubleRBTreeSet(Comparator<? super Double> c)
c - a Comparator (even better, a type-specific
comparator).public DoubleRBTreeSet(Collection<? extends Double> c)
c - a collection to be copied into the new tree set.public DoubleRBTreeSet(SortedSet<Double> s)
Comparator).s - a SortedSet to be copied into the new tree set.public DoubleRBTreeSet(DoubleCollection c)
c - a type-specific collection to be copied into the new tree set.public DoubleRBTreeSet(DoubleSortedSet s)
Comparator).s - a type-specific sorted set to be copied into the new tree set.public DoubleRBTreeSet(DoubleIterator i)
i - a type-specific iterator whose elements will fill the set.public DoubleRBTreeSet(Iterator<?> i)
i - an iterator whose elements will fill the set.public DoubleRBTreeSet(double[] a,
int offset,
int length,
Comparator<? super Double> c)
Comparator.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 - a Comparator (even better, a type-specific
comparator).public DoubleRBTreeSet(double[] a,
int offset,
int length)
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.public DoubleRBTreeSet(double[] a)
a - an array to be copied into the new tree set.public DoubleRBTreeSet(double[] a,
Comparator<? super Double> c)
Comparator.a - an array to be copied into the new tree set.c - a Comparator (even better, a type-specific
comparator).public boolean add(double k)
add in interface DoubleCollectionadd in class AbstractDoubleCollectionCollection.add(Object)public boolean rem(double k)
DoubleCollectionremove(), but the clash with
the similarly named index-based method in the List
interface forces us to use a distinguished name. For simplicity, the set
interfaces reinstates remove().rem in interface DoubleCollectionrem in class AbstractDoubleCollectionCollection.remove(Object)public boolean contains(double k)
contains in interface DoubleCollectioncontains in class AbstractDoubleCollectionCollection.contains(Object)public void clear()
clear in interface Collection<Double>clear in interface Set<Double>clear in class AbstractCollection<Double>public int size()
size in interface Collection<Double>size in interface Set<Double>size in class AbstractCollection<Double>public boolean isEmpty()
isEmpty in interface Collection<Double>isEmpty in interface Set<Double>isEmpty in class AbstractDoubleCollectionpublic double firstDouble()
firstDouble in interface DoubleSortedSetSortedSet.first()public double lastDouble()
lastDouble in interface DoubleSortedSetSortedSet.last()public DoubleBidirectionalIterator iterator()
DoubleCollection
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 extends Collection.
iterator in interface DoubleCollectioniterator in interface DoubleIterableiterator in interface DoubleSetiterator in interface DoubleSortedSetiterator in interface Iterable<Double>iterator in interface Collection<Double>iterator in interface Set<Double>iterator in class AbstractDoubleSortedSetpublic DoubleBidirectionalIterator iterator(double from)
DoubleSortedSetBidirectionalIterator 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 return false). 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 return false).
Note that passing the last element of the set as starting point and
calling previous() you can traverse the entire set in reverse order.
iterator in interface DoubleSortedSetfrom - an element to start from.public DoubleComparator comparator()
DoubleSortedSet
Note that this specification strengthens the one given in
SortedSet.comparator().
comparator in interface DoubleSortedSetcomparator in interface SortedSet<Double>SortedSet.comparator()public DoubleSortedSet headSet(double to)
headSet in interface DoubleSortedSetSortedSet.headSet(Object)public DoubleSortedSet tailSet(double from)
tailSet in interface DoubleSortedSetSortedSet.tailSet(Object)public DoubleSortedSet subSet(double from, double to)
subSet in interface DoubleSortedSetSortedSet.subSet(Object,Object)