public abstract class AbstractLongObjectMap 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 Form| Modifier and Type | Method and Description |
|---|---|
boolean |
containsKey(long key)
Returns true if the receiver contains the specified key.
|
boolean |
containsValue(Object value)
Returns true if the receiver contains the specified value.
|
AbstractLongObjectMap |
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(LongObjectProcedure procedure)
Applies a procedure to each (key,value) pair of the receiver, if any.
|
abstract Object |
get(long key)
Returns the value associated with the specified key.
|
long |
keyOf(Object 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(LongObjectProcedure condition,
LongArrayList keyList,
ObjectArrayList valueList)
Fills all pairs satisfying a given condition into the specified lists.
|
void |
pairsSortedByKey(LongArrayList keyList,
ObjectArrayList valueList)
Fills all keys and values sorted ascending by key into the
specified lists.
|
void |
pairsSortedByValue(LongArrayList keyList,
ObjectArrayList valueList)
Fills all keys and values sorted ascending by value according to
natural ordering into the specified lists.
|
abstract boolean |
put(long key,
Object 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,
according to natural ordering.
|
ObjectArrayList |
values()
Returns a list filled with all values contained in the receiver.
|
void |
values(ObjectArrayList list)
Fills all values contained in the receiver into the specified list.
|
clear, ensureCapacity, isEmpty, size, trimToSizeclonepublic boolean containsKey(long key)
public boolean containsValue(Object value)
public AbstractLongObjectMap copy()
clone() and casts
the result.public boolean equals(Object obj)
m1.forEachPair(
new LongObjectProcedure() {
public boolean apply(long key, Object value) {
return m2.containsKey(key) && m2.get(key) == value;
}
}
)
&&
m2.forEachPair(
new LongObjectProcedure() {
public boolean apply(long key, Object 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(LongObjectProcedure procedure)
forEachKey(LongProcedure).procedure - the procedure to be applied. Stops iteration if the procedure
returns false, otherwise continues.public abstract Object 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(Object value)
containsValue(Object) 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(LongObjectProcedure condition, LongArrayList keyList, ObjectArrayList valueList)
forEachKey(LongProcedure).
Example:
LongObjectProcedure condition = new LongObjectProcedure() { // match even keys only
public boolean apply(long key, Object 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, ObjectArrayList 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, ObjectArrayList 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,
Object 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 ObjectArrayList values()
forEachKey(LongProcedure).
This method can be used to iterate over the values of the receiver.
public void values(ObjectArrayList 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