public abstract class AbstractLongDoubleMap extends AbstractMap
Implementation:
Almost all methods are expressed in terms of
forEachKey(LongProcedure)
. As such they are fully functional, but
inefficient. Override them in subclasses if necessary.
HashMap
,
Serialized FormModifier and Type | Method and Description |
---|---|
void |
assign(AbstractLongDoubleMap other)
Clears the receiver, then adds all (key,value) pairs of other
values to it.
|
void |
assign(DoubleFunction function)
Assigns the result of a function to each value;
v[i] = function(v[i]).
|
boolean |
containsKey(long key)
Returns true if the receiver contains the specified key.
|
boolean |
containsValue(double value)
Returns true if the receiver contains the specified value.
|
AbstractLongDoubleMap |
copy()
Returns a deep copy of the receiver; uses
clone() and casts
the result. |
boolean |
equals(Object obj)
Compares the specified object with this map for equality.
|
abstract boolean |
forEachKey(LongProcedure procedure)
Applies a procedure to each key of the receiver, if any.
|
boolean |
forEachPair(LongDoubleProcedure procedure)
Applies a procedure to each (key,value) pair of the receiver, if any.
|
abstract double |
get(long key)
Returns the value associated with the specified key.
|
long |
keyOf(double value)
Returns the first key the given value is associated with.
|
LongArrayList |
keys()
Returns a list filled with all keys contained in the receiver.
|
void |
keys(LongArrayList list)
Fills all keys contained in the receiver into the specified list.
|
void |
keysSortedByValue(LongArrayList keyList)
Fills all keys sorted ascending by their associated value into the
specified list.
|
void |
pairsMatching(LongDoubleProcedure condition,
LongArrayList keyList,
DoubleArrayList valueList)
Fills all pairs satisfying a given condition into the specified lists.
|
void |
pairsSortedByKey(LongArrayList keyList,
DoubleArrayList valueList)
Fills all keys and values sorted ascending by key into the
specified lists.
|
void |
pairsSortedByValue(LongArrayList keyList,
DoubleArrayList valueList)
Fills all keys and values sorted ascending by value into the
specified lists.
|
abstract boolean |
put(long key,
double value)
Associates the given key with the given value.
|
abstract boolean |
removeKey(long key)
Removes the given key with its associated element from the receiver, if
present.
|
String |
toString()
Returns a string representation of the receiver, containing the String
representation of each key-value pair, sorted ascending by key.
|
String |
toStringByValue()
Returns a string representation of the receiver, containing the String
representation of each key-value pair, sorted ascending by value.
|
DoubleArrayList |
values()
Returns a list filled with all values contained in the receiver.
|
void |
values(DoubleArrayList list)
Fills all values contained in the receiver into the specified list.
|
clear, ensureCapacity, isEmpty, size, trimToSize
clone
public void assign(DoubleFunction function)
function
- a function object taking as argument the current association's
value.public void assign(AbstractLongDoubleMap other)
other
- the other map to be copied into the receiver.public boolean containsKey(long key)
public boolean containsValue(double value)
public AbstractLongDoubleMap copy()
clone()
and casts
the result.public boolean equals(Object obj)
m1.forEachPair( new IntDoubleProcedure() { public boolean apply(int key, double value) { return m2.containsKey(key) && m2.get(key) == value; } } ) && m2.forEachPair( new IntDoubleProcedure() { public boolean apply(int key, double value) { return m1.containsKey(key) && m1.get(key) == value; } } );This implementation first checks if the specified object is this map; if so it returns true. Then, it checks if the specified object is a map whose size is identical to the size of this set; if not, it it returns false. If so, it applies the iteration as described above.
public abstract boolean forEachKey(LongProcedure procedure)
procedure
- the procedure to be applied. Stops iteration if the procedure
returns false, otherwise continues.public boolean forEachPair(LongDoubleProcedure procedure)
forEachKey(LongProcedure)
.procedure
- the procedure to be applied. Stops iteration if the procedure
returns false, otherwise continues.public abstract double get(long key)
containsKey(long)
whether the given key
has a value associated or not, i.e. whether there exists an association
for the given key or not.key
- the key to be searched for.public long keyOf(double value)
containsValue(double)
whether
there exists an association from a key to this value. Search order is
guaranteed to be identical to the order used by method
forEachKey(LongProcedure)
.value
- the value to search for.public LongArrayList keys()
forEachKey(LongProcedure)
.
This method can be used to iterate over the keys of the receiver.
public void keys(LongArrayList list)
forEachKey(LongProcedure)
.
This method can be used to iterate over the keys of the receiver.
list
- the list to be filled, can have any size.public void keysSortedByValue(LongArrayList keyList)
Example:
keys = (8,7,6), values = (1,2,2) --> keyList = (8,6,7)
keyList
- the list to be filled, can have any size.public void pairsMatching(LongDoubleProcedure condition, LongArrayList keyList, DoubleArrayList valueList)
forEachKey(LongProcedure)
.
Example:
LongDoubleProcedure condition = new LongDoubleProcedure() { // match even keys only public boolean apply(long key, double value) { return key%2==0; } } keys = (8,7,6), values = (1,2,2) --> keyList = (6,8), valueList = (2,1) </tt>
condition
- the condition to be matched. Takes the current key as first
and the current value as second argument.keyList
- the list to be filled with keys, can have any size.valueList
- the list to be filled with values, can have any size.public void pairsSortedByKey(LongArrayList keyList, DoubleArrayList valueList)
Example:
keys = (8,7,6), values = (1,2,2) --> keyList = (6,7,8), valueList = (2,2,1)
keyList
- the list to be filled with keys, can have any size.valueList
- the list to be filled with values, can have any size.public void pairsSortedByValue(LongArrayList keyList, DoubleArrayList valueList)
Example:
keys = (8,7,6), values = (1,2,2) --> keyList = (8,6,7), valueList = (1,2,2)
keyList
- the list to be filled with keys, can have any size.valueList
- the list to be filled with values, can have any size.public abstract boolean put(long key, double value)
key
- the key the value shall be associated with.value
- the value to be associated.public abstract boolean removeKey(long key)
key
- the key to be removed from the receiver.public String toString()
public String toStringByValue()
public DoubleArrayList values()
forEachKey(LongProcedure)
.
This method can be used to iterate over the values of the receiver.
public void values(DoubleArrayList list)
forEachKey(LongProcedure)
.
This method can be used to iterate over the values of the receiver.
list
- the list to be filled, can have any size.Jump to the Parallel Colt Homepage