edu.umd.cloud9.util.count
Class OpenObject2LongFrequencyDistribution<K extends Comparable<K>>

java.lang.Object
  extended by edu.umd.cloud9.util.count.OpenObject2LongFrequencyDistribution<K>
All Implemented Interfaces:
Object2LongFrequencyDistribution<K>, Iterable<PairOfObjectLong<K>>

public class OpenObject2LongFrequencyDistribution<K extends Comparable<K>>
extends Object
implements Object2LongFrequencyDistribution<K>

Implementation of Object2LongFrequencyDistribution based on Object2LongOpenHashMap.

Author:
Jimmy Lin

Constructor Summary
OpenObject2LongFrequencyDistribution()
           
 
Method Summary
 void clear()
          Removes all events.
 boolean contains(K key)
          Returns true if key exists in this object.
 void decrement(K key)
          Decrements the frequency of an event key.
 void decrement(K key, long cnt)
          Decrements the frequency of a particular event key by cnt.
 Object2LongMap.FastEntrySet<K> entrySet()
          Exposes efficient method for accessing mappings in this map.
 long get(K key)
          Returns the frequency of a particular event key.
 List<PairOfObjectLong<K>> getFrequencySortedEvents()
          Returns events sorted by frequency of occurrence.
 List<PairOfObjectLong<K>> getFrequencySortedEvents(int n)
          Returns top n events sorted by frequency of occurrence.
 int getNumberOfEvents()
          Returns number of distinct events observed.
 List<PairOfObjectLong<K>> getSortedEvents()
          Returns events in sorted order.
 List<PairOfObjectLong<K>> getSortedEvents(int n)
          Returns top n events in sorted order.
 long getSumOfFrequencies()
          Returns the sum of frequencies of all observed events.
 void increment(K key)
          Increments the frequency of an event key.
 void increment(K key, long cnt)
          Increments the frequency of an event key by cnt.
 Iterator<PairOfObjectLong<K>> iterator()
          Iterator returns the same object every time, just with a different payload.
 ObjectSet<K> keySet()
          Exposes efficient method for accessing keys in this map.
 long remove(K k)
          Removes the count of a particular event key.
 long set(K k, long v)
          Sets the frequency of a particular event key to cnt.
 LongCollection values()
          Exposes efficient method for accessing values in this map.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OpenObject2LongFrequencyDistribution

public OpenObject2LongFrequencyDistribution()
Method Detail

increment

public void increment(K key)
Description copied from interface: Object2LongFrequencyDistribution
Increments the frequency of an event key.

Specified by:
increment in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

increment

public void increment(K key,
                      long cnt)
Description copied from interface: Object2LongFrequencyDistribution
Increments the frequency of an event key by cnt.

Specified by:
increment in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

decrement

public void decrement(K key)
Description copied from interface: Object2LongFrequencyDistribution
Decrements the frequency of an event key.

Specified by:
decrement in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

decrement

public void decrement(K key,
                      long cnt)
Description copied from interface: Object2LongFrequencyDistribution
Decrements the frequency of a particular event key by cnt.

Specified by:
decrement in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

contains

public boolean contains(K key)
Description copied from interface: Object2LongFrequencyDistribution
Returns true if key exists in this object.

Specified by:
contains in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

get

public long get(K key)
Description copied from interface: Object2LongFrequencyDistribution
Returns the frequency of a particular event key.

Specified by:
get in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

set

public long set(K k,
                long v)
Description copied from interface: Object2LongFrequencyDistribution
Sets the frequency of a particular event key to cnt.

Specified by:
set in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

remove

public long remove(K k)
Description copied from interface: Object2LongFrequencyDistribution
Removes the count of a particular event key.

Specified by:
remove in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

clear

public void clear()
Description copied from interface: Object2LongFrequencyDistribution
Removes all events.

Specified by:
clear in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

keySet

public ObjectSet<K> keySet()
Exposes efficient method for accessing keys in this map.


values

public LongCollection values()
Exposes efficient method for accessing values in this map.


entrySet

public Object2LongMap.FastEntrySet<K> entrySet()
Exposes efficient method for accessing mappings in this map.


getFrequencySortedEvents

public List<PairOfObjectLong<K>> getFrequencySortedEvents()
Description copied from interface: Object2LongFrequencyDistribution
Returns events sorted by frequency of occurrence.

Specified by:
getFrequencySortedEvents in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

getFrequencySortedEvents

public List<PairOfObjectLong<K>> getFrequencySortedEvents(int n)
Description copied from interface: Object2LongFrequencyDistribution
Returns top n events sorted by frequency of occurrence.

Specified by:
getFrequencySortedEvents in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

getSortedEvents

public List<PairOfObjectLong<K>> getSortedEvents()
Description copied from interface: Object2LongFrequencyDistribution
Returns events in sorted order.

Specified by:
getSortedEvents in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

getSortedEvents

public List<PairOfObjectLong<K>> getSortedEvents(int n)
Description copied from interface: Object2LongFrequencyDistribution
Returns top n events in sorted order.

Specified by:
getSortedEvents in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

getNumberOfEvents

public int getNumberOfEvents()
Description copied from interface: Object2LongFrequencyDistribution
Returns number of distinct events observed. Note that if an event is observed and then its count subsequently removed, the event will not be included in this count.

Specified by:
getNumberOfEvents in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

getSumOfFrequencies

public long getSumOfFrequencies()
Description copied from interface: Object2LongFrequencyDistribution
Returns the sum of frequencies of all observed events.

Specified by:
getSumOfFrequencies in interface Object2LongFrequencyDistribution<K extends Comparable<K>>

iterator

public Iterator<PairOfObjectLong<K>> iterator()
Iterator returns the same object every time, just with a different payload.

Specified by:
iterator in interface Iterable<PairOfObjectLong<K extends Comparable<K>>>