Package net.sf.statcvs.util
Class IntegerMap
java.lang.Object
net.sf.statcvs.util.IntegerMap
Utility class for storing a map from
Object
s to
int
s.
This class makes it easy to sort by key or value, and provides
useful features like sum()
, 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 -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds anint
to the value stored at a key.double
average()
Returns the average of all values in the map.boolean
Returnstrue
if the map contains a value for this key.void
Same asaddInt(key, -1)
int
Gets a value from the map.getInteger
(Object key) double
getPercent
(Object key) Gets the value stored at a key as a percentage of all values in the map.double
Gets the value stored at a key as a percentage of the maximum value in the map.void
Same asaddInt(key, 1)
Returns an iterator on the keys, sorted by key ascending.Returns an iterator on the keys, sorted by values ascending.Returns an iterator on the keys, sorted by values descending.keySet()
Returns a set view of the keys.int
max()
Returns the maximum value in the map.void
Puts a value into the map, overwriting any previous value for the same key.void
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.
-
Constructor Details
-
IntegerMap
public IntegerMap()
-
-
Method Details
-
put
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
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
- Parameters:
key
- the key to get the value for- Returns:
- the value wrapped in an
Integer
object
-
getPercent
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
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
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
Same asaddInt(key, 1)
- Parameters:
key
- the key whose value should be increased
-
dec
Same asaddInt(key, -1)
- Parameters:
key
- the key whose value should be decreased
-
remove
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
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
Returns a set view of the keys. The set will be in ascending key order.- Returns:
- a
Set
view of all keys
-
iteratorSortedByKey
Returns an iterator on the keys, sorted by key ascending.- Returns:
- an iterator on the keys
-
iteratorSortedByValue
Returns an iterator on the keys, sorted by values ascending.- Returns:
- an iterator on the keys
-
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.
-