DoubleCollection
, DoubleIterable
, DoubleSet
, java.io.Serializable
, java.lang.Cloneable
, java.lang.Iterable<java.lang.Double>
, java.util.Collection<java.lang.Double>
, java.util.Set<java.lang.Double>
public class DoubleArraySet extends AbstractDoubleSet implements java.io.Serializable, java.lang.Cloneable
The main purpose of this implementation is that of wrapping cleanly the brute-force approach to the storage of a very small number of items: just put them into an array and scan linearly to find an item.
Constructor | Description |
---|---|
DoubleArraySet() |
Creates a new empty array set.
|
DoubleArraySet(double[] a) |
Creates a new array set using the given backing array.
|
DoubleArraySet(double[] a,
int size) |
Creates a new array set using the given backing array and the given number of
elements of the array.
|
DoubleArraySet(int capacity) |
Creates a new empty array set of given initial capacity.
|
DoubleArraySet(DoubleCollection c) |
Creates a new array set copying the contents of a given collection.
|
DoubleArraySet(java.util.Collection<? extends java.lang.Double> c) |
Creates a new array set copying the contents of a given set.
|
Modifier and Type | Method | Description |
---|---|---|
boolean |
add(double k) |
Ensures that this collection contains the specified element (optional
operation).
|
void |
clear() |
|
DoubleArraySet |
clone() |
Returns a deep copy of this set.
|
boolean |
contains(double k) |
Returns
true if this collection contains the specified element. |
boolean |
isEmpty() |
|
DoubleIterator |
iterator() |
Returns a type-specific iterator on the elements of this collection.
|
boolean |
remove(double k) |
Removes an element from this set.
|
int |
size() |
addAll, containsAll, removeAll, retainAll, toArray, toArray
add, addAll, contains, containsAll, remove, removeAll, retainAll, toArray, toDoubleArray, toDoubleArray, toString
equals, hashCode, rem
addAll, containsAll, removeAll, removeIf, removeIf, retainAll, toArray, toDoubleArray, toDoubleArray
forEach, forEach
public DoubleArraySet(double[] a)
It is responsibility of the caller that the elements of a
are
distinct.
a
- the backing array.public DoubleArraySet()
public DoubleArraySet(int capacity)
capacity
- the initial capacity.public DoubleArraySet(DoubleCollection c)
c
- a collection.public DoubleArraySet(java.util.Collection<? extends java.lang.Double> c)
c
- a collection.public DoubleArraySet(double[] a, int size)
It is responsibility of the caller that the first size
elements of
a
are distinct.
a
- the backing array.size
- the number of valid elements in a
.public DoubleIterator 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 java.util.Collection<java.lang.Double>
iterator
in interface DoubleCollection
iterator
in interface DoubleIterable
iterator
in interface DoubleSet
iterator
in interface java.lang.Iterable<java.lang.Double>
iterator
in interface java.util.Set<java.lang.Double>
iterator
in class AbstractDoubleSet
Iterable.iterator()
public boolean contains(double k)
AbstractDoubleCollection
true
if this collection contains the specified element.
This implementation iterates over the elements in the collection, looking for the specified element.
contains
in interface DoubleCollection
contains
in class AbstractDoubleCollection
Collection.contains(Object)
public int size()
size
in interface java.util.Collection<java.lang.Double>
size
in interface java.util.Set<java.lang.Double>
size
in class java.util.AbstractCollection<java.lang.Double>
public boolean remove(double k)
AbstractDoubleSet
Note that the corresponding method of a type-specific collection is
rem()
. This unfortunate situation is caused by the clash with the
similarly named index-based method in the List
interface. Delegates to the type-specific rem()
method implemented
by type-specific abstract Collection
superclass.
remove
in interface DoubleSet
remove
in class AbstractDoubleSet
Collection.remove(Object)
public boolean add(double k)
AbstractDoubleCollection
This implementation always throws an UnsupportedOperationException
.
add
in interface DoubleCollection
add
in class AbstractDoubleCollection
Collection.add(Object)
public void clear()
clear
in interface java.util.Collection<java.lang.Double>
clear
in interface java.util.Set<java.lang.Double>
clear
in class java.util.AbstractCollection<java.lang.Double>
public boolean isEmpty()
isEmpty
in interface java.util.Collection<java.lang.Double>
isEmpty
in interface java.util.Set<java.lang.Double>
isEmpty
in class java.util.AbstractCollection<java.lang.Double>
public DoubleArraySet clone()
This method performs a deep copy of this array set; the data stored in the set, however, is not cloned. Note that this makes a difference only for object keys.