## org.apache.commons.math.stat
Class Frequency

    java.lang.Object
      org.apache.commons.math.stat.Frequency

All Implemented Interfaces:
  java.io.Serializable

    public class Frequency

extends java.lang.Object
implements java.io.Serializable

Maintains a frequency distribution.

Accepts int, long, char or Comparable values. New values added must be comparable to those that have been added, otherwise the add method will throw an IllegalArgumentException.

Integer values (int, long, Integer, Long) are not distinguished by type -- i.e. `addValue(Long.valueOf(2)), addValue(2), addValue(2l)` all have the same effect (similarly for arguments to `getCount,` etc.).

char values are converted by `addValue` to Character instances. As such, these values are not comparable to integral values, so attempts to combine integral types with chars in a frequency distribution will fail.

The values are ordered using the default (natural order), unless a `Comparator` is supplied in the constructor.

Version:
  $Revision: 922722 $ $Date: 2010-03-13 21:15:01 -0500 (Sat, 13 Mar 2010) $
See Also:
  Serialized Form

Nested Class Summary
`private static class` `Frequency.NaturalComparator<T extends java.lang.Comparable<T>>` A Comparator that compares comparable objects using the natural order.

Field Summary
`private java.util.TreeMap<java.lang.Comparable<?>,java.lang.Long>` `freqTable` underlying collection
`private static long` `serialVersionUID` Serializable version identifier

Constructor Summary
`Frequency()` Default constructor.
`Frequency(java.util.Comparator<?> comparator)` Constructor allowing values Comparator to be specified.

Method Summary
`void` `addValue(char v)` Adds 1 to the frequency count for v.
`void` `addValue(java.lang.Comparable<?> v)` Adds 1 to the frequency count for v.
`void` `addValue(int v)` Adds 1 to the frequency count for v.
`void` `addValue(java.lang.Integer v)` Deprecated. to be removed in math 3.0
`void` `addValue(long v)` Adds 1 to the frequency count for v.
`void` `addValue(java.lang.Object v)` Deprecated. use `addValue(Comparable)` instead
`void` `clear()` Clears the frequency table
`boolean` `equals(java.lang.Object obj)`
`long` `getCount(char v)` Returns the number of values = v.
`long` `getCount(java.lang.Comparable<?> v)` Returns the number of values = v.
`long` `getCount(int v)` Returns the number of values = v.
`long` `getCount(long v)` Returns the number of values = v.
`long` `getCount(java.lang.Object v)` Deprecated. replaced by `getCount(Comparable)` as of 2.0
`long` `getCumFreq(char v)` Returns the cumulative frequency of values less than or equal to v.
`long` `getCumFreq(java.lang.Comparable<?> v)` Returns the cumulative frequency of values less than or equal to v.
`long` `getCumFreq(int v)` Returns the cumulative frequency of values less than or equal to v.
`long` `getCumFreq(long v)` Returns the cumulative frequency of values less than or equal to v.
`long` `getCumFreq(java.lang.Object v)` Deprecated. replaced by `getCumFreq(Comparable)` as of 2.0
`double` `getCumPct(char v)` Returns the cumulative percentage of values less than or equal to v (as a proportion between 0 and 1).
`double` `getCumPct(java.lang.Comparable<?> v)` Returns the cumulative percentage of values less than or equal to v (as a proportion between 0 and 1).
`double` `getCumPct(int v)` Returns the cumulative percentage of values less than or equal to v (as a proportion between 0 and 1).
`double` `getCumPct(long v)` Returns the cumulative percentage of values less than or equal to v (as a proportion between 0 and 1).
`double` `getCumPct(java.lang.Object v)` Deprecated. replaced by `getCumPct(Comparable)` as of 2.0
`double` `getPct(char v)` Returns the percentage of values that are equal to v (as a proportion between 0 and 1).
`double` `getPct(java.lang.Comparable<?> v)` Returns the percentage of values that are equal to v (as a proportion between 0 and 1).
`double` `getPct(int v)` Returns the percentage of values that are equal to v (as a proportion between 0 and 1).
`double` `getPct(long v)` Returns the percentage of values that are equal to v (as a proportion between 0 and 1).
`double` `getPct(java.lang.Object v)` Deprecated. replaced by `getPct(Comparable)` as of 2.0
`long` `getSumFreq()` Returns the sum of all frequencies.
`int` `hashCode()`
`java.lang.String` `toString()` Return a string representation of this frequency distribution.
`java.util.Iterator<java.lang.Comparable<?>>` `valuesIterator()` Returns an Iterator over the set of values that have been added.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### serialVersionUID

    private static final long serialVersionUID

  Serializable version identifier

  See Also:
    Constant Field Values

### freqTable

    private final java.util.TreeMap<java.lang.Comparable<?>,java.lang.Long> freqTable

  underlying collection

Constructor Detail

### Frequency

    public Frequency()

  Default constructor.

### Frequency

    public Frequency(java.util.Comparator<?> comparator)

  Constructor allowing values Comparator to be specified.

  Parameters:
    `comparator` - Comparator used to order values

Method Detail

### toString

    public java.lang.String toString()

  Return a string representation of this frequency distribution.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    a string representation.

### addValue

    @Deprecated
    public void addValue(java.lang.Object v)

  Deprecated. use `addValue(Comparable)` instead

  Adds 1 to the frequency count for v.

  If other objects have already been added to this Frequency, v must be comparable to those that have already been added.

  Parameters:
    `v` - the value to add.
  Throws:
    `java.lang.IllegalArgumentException` - if `v` is not Comparable, or is not comparable with previous entries

### addValue

    public void addValue(java.lang.Comparable<?> v)

  Adds 1 to the frequency count for v.

  If other objects have already been added to this Frequency, v must be comparable to those that have already been added.

  Parameters:
    `v` - the value to add.
  Throws:
    `java.lang.IllegalArgumentException` - if `v` is not comparable with previous entries

### addValue

    public void addValue(int v)

  Adds 1 to the frequency count for v.

  Parameters:
    `v` - the value to add.

### addValue

    @Deprecated
    public void addValue(java.lang.Integer v)

  Deprecated. to be removed in math 3.0

  Adds 1 to the frequency count for v.

  Parameters:
    `v` - the value to add.

### addValue

    public void addValue(long v)

  Adds 1 to the frequency count for v.

  Parameters:
    `v` - the value to add.

### addValue

    public void addValue(char v)

  Adds 1 to the frequency count for v.

  Parameters:
    `v` - the value to add.

### clear

    public void clear()

  Clears the frequency table

### valuesIterator

    public java.util.Iterator<java.lang.Comparable<?>> valuesIterator()

  Returns an Iterator over the set of values that have been added.

  If added values are integral (i.e., integers, longs, Integers, or Longs), they are converted to Longs when they are added, so the objects returned by the Iterator will in this case be Longs.

  Returns:
    values Iterator

### getSumFreq

    public long getSumFreq()

  Returns the sum of all frequencies.

  Returns:
    the total frequency count.

### getCount

    @Deprecated
    public long getCount(java.lang.Object v)

  Deprecated. replaced by `getCount(Comparable)` as of 2.0

  Returns the number of values = v. Returns 0 if the value is not comparable.

  Parameters:
    `v` - the value to lookup.
  Returns:
    the frequency of v.

### getCount

    public long getCount(java.lang.Comparable<?> v)

  Returns the number of values = v. Returns 0 if the value is not comparable.

  Parameters:
    `v` - the value to lookup.
  Returns:
    the frequency of v.

### getCount

    public long getCount(int v)

  Returns the number of values = v.

  Parameters:
    `v` - the value to lookup.
  Returns:
    the frequency of v.

### getCount

    public long getCount(long v)

  Returns the number of values = v.

  Parameters:
    `v` - the value to lookup.
  Returns:
    the frequency of v.

### getCount

    public long getCount(char v)

  Returns the number of values = v.

  Parameters:
    `v` - the value to lookup.
  Returns:
    the frequency of v.

### getPct

    @Deprecated
    public double getPct(java.lang.Object v)

  Deprecated. replaced by `getPct(Comparable)` as of 2.0

  Returns the percentage of values that are equal to v (as a proportion between 0 and 1).

  Returns `Double.NaN` if no values have been added.

  Parameters:
    `v` - the value to lookup
  Returns:
    the proportion of values equal to v

### getPct

    public double getPct(java.lang.Comparable<?> v)

  Returns the percentage of values that are equal to v (as a proportion between 0 and 1).

  Returns `Double.NaN` if no values have been added.

  Parameters:
    `v` - the value to lookup
  Returns:
    the proportion of values equal to v

### getPct

    public double getPct(int v)

  Returns the percentage of values that are equal to v (as a proportion between 0 and 1).

  Parameters:
    `v` - the value to lookup
  Returns:
    the proportion of values equal to v

### getPct

    public double getPct(long v)

  Returns the percentage of values that are equal to v (as a proportion between 0 and 1).

  Parameters:
    `v` - the value to lookup
  Returns:
    the proportion of values equal to v

### getPct

    public double getPct(char v)

  Returns the percentage of values that are equal to v (as a proportion between 0 and 1).

  Parameters:
    `v` - the value to lookup
  Returns:
    the proportion of values equal to v

### getCumFreq

    @Deprecated
    public long getCumFreq(java.lang.Object v)

  Deprecated. replaced by `getCumFreq(Comparable)` as of 2.0

  Returns the cumulative frequency of values less than or equal to v.

  Returns 0 if v is not comparable to the values set.

  Parameters:
    `v` - the value to lookup.
  Returns:
    the proportion of values equal to v

### getCumFreq

    public long getCumFreq(java.lang.Comparable<?> v)

  Returns the cumulative frequency of values less than or equal to v.

  Returns 0 if v is not comparable to the values set.

  Parameters:
    `v` - the value to lookup.
  Returns:
    the proportion of values equal to v

### getCumFreq

    public long getCumFreq(int v)

  Returns the cumulative frequency of values less than or equal to v.

  Returns 0 if v is not comparable to the values set.

  Parameters:
    `v` - the value to lookup
  Returns:
    the proportion of values equal to v

### getCumFreq

    public long getCumFreq(long v)

  Returns the cumulative frequency of values less than or equal to v.

  Returns 0 if v is not comparable to the values set.

  Parameters:
    `v` - the value to lookup
  Returns:
    the proportion of values equal to v

### getCumFreq

    public long getCumFreq(char v)

  Returns the cumulative frequency of values less than or equal to v.

  Returns 0 if v is not comparable to the values set.

  Parameters:
    `v` - the value to lookup
  Returns:
    the proportion of values equal to v

### getCumPct

    @Deprecated
    public double getCumPct(java.lang.Object v)

  Deprecated. replaced by `getCumPct(Comparable)` as of 2.0

  Returns the cumulative percentage of values less than or equal to v (as a proportion between 0 and 1).

  Returns `Double.NaN` if no values have been added. Returns 0 if at least one value has been added, but v is not comparable to the values set.

  Parameters:
    `v` - the value to lookup
  Returns:
    the proportion of values less than or equal to v

### getCumPct

    public double getCumPct(java.lang.Comparable<?> v)

  Returns the cumulative percentage of values less than or equal to v (as a proportion between 0 and 1).

  Returns `Double.NaN` if no values have been added. Returns 0 if at least one value has been added, but v is not comparable to the values set.

  Parameters:
    `v` - the value to lookup
  Returns:
    the proportion of values less than or equal to v

### getCumPct

    public double getCumPct(int v)

  Returns the cumulative percentage of values less than or equal to v (as a proportion between 0 and 1).

  Returns 0 if v is not comparable to the values set.

  Parameters:
    `v` - the value to lookup
  Returns:
    the proportion of values less than or equal to v

### getCumPct

    public double getCumPct(long v)

  Returns the cumulative percentage of values less than or equal to v (as a proportion between 0 and 1).

  Returns 0 if v is not comparable to the values set.

  Parameters:
    `v` - the value to lookup
  Returns:
    the proportion of values less than or equal to v

### getCumPct

    public double getCumPct(char v)

  Returns the cumulative percentage of values less than or equal to v (as a proportion between 0 and 1).

  Returns 0 if v is not comparable to the values set.

  Parameters:
    `v` - the value to lookup
  Returns:
    the proportion of values less than or equal to v

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `java.lang.Object`

### equals

    public boolean equals(java.lang.Object obj)

  Overrides:
    `equals` in class `java.lang.Object`

Copyright (c) 2003-2011 Apache Software Foundation