it.unimi.dsi.fastutil.longs
Class AbstractLong2ByteMap

java.lang.Object
  extended byit.unimi.dsi.fastutil.longs.AbstractLong2ByteMap
All Implemented Interfaces:
Long2ByteMap, Map, Serializable
Direct Known Subclasses:
AbstractLong2ByteSortedMap, Long2ByteMaps.EmptyMap, Long2ByteMaps.Singleton, Long2ByteMaps.SynchronizedMap, Long2ByteOpenHashMap

public abstract class AbstractLong2ByteMap
extends Object
implements Long2ByteMap, Serializable

An abstract class providing basic methods for maps implementing a type-specific interface.

This class handles directly a default return value} (including methods to access it). Instances of classes inheriting from this class have just to return defRetValue to denote lack of a key in type-specific methods. The value is serialized.

Optional operations just throw an UnsupportedOperationException. Generic versions of accessors delegate to the corresponding type-specific counterparts following the interface rules (they take care of returning null on a missing key).

As a further help, this class provides a BasicEntry inner class that implements a type-specific version of Map.Entry; it is particularly useful for those classes that do not implement their own entries (e.g., most immutable maps).

See Also:
Serialized Form

Nested Class Summary
static class AbstractLong2ByteMap.BasicEntry
          This class provides a basic but complete type-specific entry class for all those maps implementations that do not have entries on their own (e.g., most immutable maps).
 
Nested classes inherited from class it.unimi.dsi.fastutil.longs.Long2ByteMap
Long2ByteMap.Entry
 
Method Summary
 void clear()
           
 boolean containsKey(long k)
          Checks whether the given value is contained in keySet().
 boolean containsKey(Object ok)
           
 boolean containsValue(byte v)
          Checks whether the given value is contained in values().
 boolean containsValue(Object ov)
           
 byte defaultReturnValue()
          Gets the default return value.
 void defaultReturnValue(byte rv)
          Sets the default return value.
 boolean equals(Object o)
           
 Object get(Object ok)
          Delegates to the corresponding type-specific method, taking care of returning null on a missing key.
 byte getDefRetValue()
           
 int hashCode()
          Returns a hash code for this map.
 boolean isEmpty()
           
 Set keySet()
          Returns a type-specific-set view of the keys of this map.
 byte put(long key, byte value)
          Adds a pair to the map.
 Object put(Object ok, Object ov)
          Delegates to the corresponding type-specific method, taking care of returning null on a missing key.
 void putAll(Map m)
          Puts all pairs in the given map.
 byte remove(long key)
          Removes the mapping with the given key.
 Object remove(Object ok)
          Delegates to the corresponding type-specific method, taking care of returning null on a missing key.
 void setDefRetValue(byte rv)
           
 String toString()
           
 Collection values()
          Returns a type-specific-set view of the values of this map.
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface it.unimi.dsi.fastutil.longs.Long2ByteMap
get
 
Methods inherited from interface java.util.Map
entrySet, size
 

Method Detail

setDefRetValue

public void setDefRetValue(byte rv)
Specified by:
setDefRetValue in interface Long2ByteMap
Parameters:
rv - the new default return value.
See Also:
Long2ByteMap.getDefRetValue(), Long2ByteMap.defaultReturnValue()

getDefRetValue

public byte getDefRetValue()
Specified by:
getDefRetValue in interface Long2ByteMap
Returns:
the current default return value.
See Also:
Long2ByteMap.defaultReturnValue()

defaultReturnValue

public void defaultReturnValue(byte rv)
Description copied from interface: Long2ByteMap
Sets the default return value. This value must be returned by type-specific versions of get(), put() and remove() to denote that the map does not contain the specified key. It must be 0/false/null by default.

Specified by:
defaultReturnValue in interface Long2ByteMap
Parameters:
rv - the new default return value.
See Also:
Long2ByteMap.defaultReturnValue()

defaultReturnValue

public byte defaultReturnValue()
Description copied from interface: Long2ByteMap
Gets the default return value.

Specified by:
defaultReturnValue in interface Long2ByteMap
Returns:
the current default return value.

put

public byte put(long key,
                byte value)
Description copied from interface: Long2ByteMap
Adds a pair to the map.

Specified by:
put in interface Long2ByteMap
Parameters:
key - the key.
value - the value.
Returns:
the old value, or the default return value if no value was present for the given key.
See Also:
Map.put(Object,Object)

remove

public byte remove(long key)
Description copied from interface: Long2ByteMap
Removes the mapping with the given key.

Specified by:
remove in interface Long2ByteMap
Parameters:
key -
Returns:
the old value, or the default return value if no value was present for the given key.
See Also:
Map.remove(Object)

clear

public void clear()
Specified by:
clear in interface Map

get

public Object get(Object ok)
Delegates to the corresponding type-specific method, taking care of returning null on a missing key.

This method must check whether the provided key is in the map using containsKey(). Thus, it probes the map twice. Implementors of subclasses should override it with a more efficient method.

Specified by:
get in interface Map

put

public Object put(Object ok,
                  Object ov)
Delegates to the corresponding type-specific method, taking care of returning null on a missing key.

This method must check whether the provided key is in the map using containsKey(). Thus, it probes the map twice. Implementors of subclasses should override it with a more efficient method.

Specified by:
put in interface Map

remove

public Object remove(Object ok)
Delegates to the corresponding type-specific method, taking care of returning null on a missing key.

This method must check whether the provided key is in the map using containsKey(). Thus, it probes the map twice. Implementors of subclasses should override it with a more efficient method.

Specified by:
remove in interface Map

containsValue

public boolean containsValue(Object ov)
Specified by:
containsValue in interface Map

containsKey

public boolean containsKey(Object ok)
Specified by:
containsKey in interface Map

containsValue

public boolean containsValue(byte v)
Checks whether the given value is contained in values().

Specified by:
containsValue in interface Long2ByteMap
See Also:
Map.containsValue(Object)

containsKey

public boolean containsKey(long k)
Checks whether the given value is contained in keySet().

Specified by:
containsKey in interface Long2ByteMap
See Also:
Map.containsKey(Object)

putAll

public void putAll(Map m)
Puts all pairs in the given map. If the map implements the interface of this map, it uses the faster iterators.

Specified by:
putAll in interface Map
Parameters:
m - a map.

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Map

keySet

public Set keySet()
Returns a type-specific-set view of the keys of this map.

The view is backed by the set returned by Map.entrySet(). Note that no attempt is made at caching the result of this method, as this would require adding some attributes that lightweight implementations would not need. Subclasses may easily override this policy by calling this method and caching the result, but implementors are encouraged to write more efficient ad-hoc implementations.

Specified by:
keySet in interface Map
Returns:
a set view of the keys of this map; it may be safely cast to a type-specific interface.

values

public Collection values()
Returns a type-specific-set view of the values of this map.

The view is backed by the set returned by Map.entrySet(). Note that no attempt is made at caching the result of this method, as this would require adding some attributes that lightweight implementations would not need. Subclasses may easily override this policy by calling this method and caching the result, but implementors are encouraged to write more efficient ad-hoc implementations.

Specified by:
values in interface Map
Returns:
a set view of the values of this map; it may be safely cast to a type-specific interface.

hashCode

public int hashCode()
Returns a hash code for this map. The hash code of a map is computed by summing the hash codes of its entries.

Specified by:
hashCode in interface Map
Returns:
a hash code for this map.

equals

public boolean equals(Object o)
Specified by:
equals in interface Map

toString

public String toString()