Package net.sf.statcvs.util
Class IntegerMap
- java.lang.Object
-
- net.sf.statcvs.util.IntegerMap
-
public class IntegerMap extends java.lang.Object
Utility class for storing a map fromObject
s toint
s. This class makes it easy to sort by key or value, and provides useful features likesum()
,max()
, and percent calculation.The keys must be comparable, for example
String
s.Behaviour for
null
keys is unspecified.- Version:
- $Id: IntegerMap.java,v 1.17 2009/08/20 17:44:05 benoitx Exp $
- Author:
- Richard Cyganiak
-
-
Constructor Summary
Constructors Constructor Description IntegerMap()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addInt(java.lang.Object key, int addValue)
Adds anint
to the value stored at a key.double
average()
Returns the average of all values in the map.boolean
contains(java.lang.Object key)
Returnstrue
if the map contains a value for this key.void
dec(java.lang.Object key)
Same asaddInt(key, -1)
int
get(java.lang.Object key)
Gets a value from the map.java.lang.Integer
getInteger(java.lang.Object key)
double
getPercent(java.lang.Object key)
Gets the value stored at a key as a percentage of all values in the map.double
getPercentOfMaximum(java.lang.Object key)
Gets the value stored at a key as a percentage of the maximum value in the map.void
inc(java.lang.Object key)
Same asaddInt(key, 1)
java.util.Iterator
iteratorSortedByKey()
Returns an iterator on the keys, sorted by key ascending.java.util.Iterator
iteratorSortedByValue()
Returns an iterator on the keys, sorted by values ascending.java.util.Iterator
iteratorSortedByValueReverse()
Returns an iterator on the keys, sorted by values descending.java.util.Set
keySet()
Returns a set view of the keys.int
max()
Returns the maximum value in the map.void
put(java.lang.Object key, int value)
Puts a value into the map, overwriting any previous value for the same key.void
remove(java.lang.Object key)
Deletes a value from the map.int
size()
Returns the number of key-value pairs stored in the map.int
sum()
Returns the sum of all values in the map.
-
-
-
Method Detail
-
put
public void put(java.lang.Object key, int value)
Puts a value into the map, overwriting any previous value for the same key.- Parameters:
key
- anObject
which is used as key.value
- theint
value to be stored at this key.
-
get
public int get(java.lang.Object key)
Gets a value from the map. Returns the value which was stored in the map at the same key before. If no value was stored for this key, 0 will be returned.- Parameters:
key
- anObject
which is used as key.- Returns:
- the value for this key
-
getInteger
public java.lang.Integer getInteger(java.lang.Object key)
- Parameters:
key
- the key to get the value for- Returns:
- the value wrapped in an
Integer
object
-
getPercent
public double getPercent(java.lang.Object key)
Gets the value stored at a key as a percentage of all values in the map.- Parameters:
key
- the key to get the value for- Returns:
- the value as a percentage of the sum of all values
-
getPercentOfMaximum
public double getPercentOfMaximum(java.lang.Object key)
Gets the value stored at a key as a percentage of the maximum value in the map. For the maximum value, this will return 100.0. For a value half as large as the maximum value, this will return 50.0.- Parameters:
key
- the key to get the value for- Returns:
- the value as a percentage of largest value in the map
-
addInt
public void addInt(java.lang.Object key, int addValue)
Adds anint
to the value stored at a key. If no value was stored before at this key, theint
will be stored there.- Parameters:
key
- the key to whose valueaddValue
should be addedaddValue
- theint
to be added
-
inc
public void inc(java.lang.Object key)
Same asaddInt(key, 1)
- Parameters:
key
- the key whose value should be increased
-
dec
public void dec(java.lang.Object key)
Same asaddInt(key, -1)
- Parameters:
key
- the key whose value should be decreased
-
remove
public void remove(java.lang.Object key)
Deletes a value from the map. This is different fromput(key, 0)
. Removing will reduce the size of the map, putting 0 will not.- Parameters:
key
- the key that should be removed
-
contains
public boolean contains(java.lang.Object key)
Returnstrue
if the map contains a value for this key.- Parameters:
key
- the key to check for- Returns:
true
if the key is in the map
-
size
public int size()
Returns the number of key-value pairs stored in the map.- Returns:
- the number of key-value pairs stored in the map
-
keySet
public java.util.Set keySet()
Returns a set view of the keys. The set will be in ascending key order.- Returns:
- a
Set
view of all keys
-
iteratorSortedByKey
public java.util.Iterator iteratorSortedByKey()
Returns an iterator on the keys, sorted by key ascending.- Returns:
- an iterator on the keys
-
iteratorSortedByValue
public java.util.Iterator iteratorSortedByValue()
Returns an iterator on the keys, sorted by values ascending.- Returns:
- an iterator on the keys
-
iteratorSortedByValueReverse
public java.util.Iterator iteratorSortedByValueReverse()
Returns an iterator on the keys, sorted by values descending.- Returns:
- an iterator on the keys
-
sum
public int sum()
Returns the sum of all values in the map.- Returns:
- the sum of all values in the map
-
average
public double average()
Returns the average of all values in the map.- Returns:
- the average of all values in the map
-
max
public int max()
Returns the maximum value in the map.- Returns:
- the maximum value in the map.
-
-