PCJ API
Version 1.2

bak.pcj.map
Class AbstractLongKeyByteMap

java.lang.Object
  extended bybak.pcj.map.AbstractLongKeyByteMap
All Implemented Interfaces:
LongKeyByteMap
Direct Known Subclasses:
LongKeyByteChainedHashMap, LongKeyByteOpenHashMap, MapToLongKeyByteMapAdapter

public abstract class AbstractLongKeyByteMap
extends Object
implements LongKeyByteMap

This class represents an abstract base for implementing maps from long values to byte values. All operations that can be implemented using iterators are implemented as such. In most cases, this is hardly an efficient solution, and at least some of those methods should be overridden by sub-classes.

Since:
1.0

Constructor Summary
protected AbstractLongKeyByteMap()
          Default constructor to be invoked by sub-classes.
 
Method Summary
 void clear()
          Clears this map.
 boolean containsKey(long key)
          Indicates whether this map contains a mapping from a specified key.
 boolean containsValue(byte value)
          Indicates whether this map contains a mapping to a specified value.
 boolean equals(Object obj)
          Indicates whether this map is equal to some object.
 byte get(long key)
          Maps a specified key to a value.
 int hashCode()
          Returns a hash code value for this map.
 boolean isEmpty()
          Indicates whether this map is empty.
 void putAll(LongKeyByteMap map)
          Adds all mappings from a specified map to this map.
 byte remove(long key)
          Removes the mapping from a specified key from this map.
 int size()
          Returns the size of this map.
 byte tget(long key)
          Maps a specified key to a value.
 String toString()
          Returns a string representation of this map.
 void trimToSize()
          Does nothing.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface bak.pcj.map.LongKeyByteMap
entries, keySet, lget, put, values
 

Constructor Detail

AbstractLongKeyByteMap

protected AbstractLongKeyByteMap()
Default constructor to be invoked by sub-classes.

Method Detail

clear

public void clear()
Description copied from interface: LongKeyByteMap
Clears this map.

Specified by:
clear in interface LongKeyByteMap

remove

public byte remove(long key)
Description copied from interface: LongKeyByteMap
Removes the mapping from a specified key from this map.

Specified by:
remove in interface LongKeyByteMap
Parameters:
key - the key whose mapping to remove from this map.
Returns:
the old value if a mapping from the specified key already existed in this map; otherwise returns a default value as specified by the MapDefaults class.
See Also:
MapDefaults

putAll

public void putAll(LongKeyByteMap map)
Description copied from interface: LongKeyByteMap
Adds all mappings from a specified map to this map. Any existing mappings whose keys collide with a new mapping is overwritten by the new mapping.

Specified by:
putAll in interface LongKeyByteMap
Parameters:
map - the map whose mappings to add to this map.

containsKey

public boolean containsKey(long key)
Description copied from interface: LongKeyByteMap
Indicates whether this map contains a mapping from a specified key. If the key is contained in this map, a succeeding call to lget() will return the corresponding value.

Specified by:
containsKey in interface LongKeyByteMap
Parameters:
key - the key to test for.
Returns:
true if this map contains a mapping from the specified key; returns false otherwise.
See Also:
LongKeyByteMap.lget()

get

public byte get(long key)
Description copied from interface: LongKeyByteMap
Maps a specified key to a value. Returns a default value as specified by the MapDefaults class if no mapping exists for the specified key.

Specified by:
get in interface LongKeyByteMap
Parameters:
key - the key to map to a value.
Returns:
the value that the specified key maps to, or a default value, if no such mapping exists.
See Also:
MapDefaults, LongKeyByteMap.tget(long), LongKeyByteMap.lget()

containsValue

public boolean containsValue(byte value)
Description copied from interface: LongKeyByteMap
Indicates whether this map contains a mapping to a specified value.

Specified by:
containsValue in interface LongKeyByteMap
Parameters:
value - the value to test for.
Returns:
true if this map contains at least one mapping to the specified value; returns false otherwise.

equals

public boolean equals(Object obj)
Description copied from interface: LongKeyByteMap
Indicates whether this map is equal to some object.

Specified by:
equals in interface LongKeyByteMap

hashCode

public int hashCode()
Description copied from interface: LongKeyByteMap
Returns a hash code value for this map.

Specified by:
hashCode in interface LongKeyByteMap

isEmpty

public boolean isEmpty()
Description copied from interface: LongKeyByteMap
Indicates whether this map is empty.

Specified by:
isEmpty in interface LongKeyByteMap
Returns:
true if this map is empty; returns false otherwise.

size

public int size()
Description copied from interface: LongKeyByteMap
Returns the size of this map. The size is defined as the number of mappings from keys to values.

Specified by:
size in interface LongKeyByteMap
Returns:
the size of this map.

tget

public byte tget(long key)
Description copied from interface: LongKeyByteMap
Maps a specified key to a value. This method should be used when the key is known to be in the map.

Specified by:
tget in interface LongKeyByteMap
Parameters:
key - the key to map to a value.
Returns:
the value that the specified key maps to.
See Also:
LongKeyByteMap.get(long), LongKeyByteMap.lget()

toString

public String toString()
Returns a string representation of this map.

Returns:
a string representation of this map.

trimToSize

public void trimToSize()
Does nothing. Sub-classes may provide an implementation to minimize memory usage, but this is not required since many implementations will always have minimal memory usage.

Specified by:
trimToSize in interface LongKeyByteMap

PCJ API
Version 1.2

Report a bug or request a feature.
Further information on the development and latest release of PCJ can be found at the project homepage.

Primitive Collections for Java is released under the GNU Lesser General Public License.
Copyright © 2002, 2003 Søren Bak. All Rights Reserved.

Hosted by SourceForge.net
SourceForge.net Logo