public class Frequency extends Object implements Serializable
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.
Constructor and Description |
---|
Frequency()
Default constructor.
|
Frequency(Comparator<?> comparator)
Constructor allowing values Comparator to be specified.
|
Modifier and Type | Method and Description |
---|---|
void |
addValue(char v)
Adds 1 to the frequency count for v.
|
void |
addValue(Comparable<?> v)
Adds 1 to the frequency count for v.
|
void |
addValue(int v)
Adds 1 to the frequency count for v.
|
void |
addValue(long v)
Adds 1 to the frequency count for v.
|
void |
clear()
Clears the frequency table
|
boolean |
equals(Object obj) |
long |
getCount(char v)
Returns the number of values = v.
|
long |
getCount(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 |
getCumFreq(char v)
Returns the cumulative frequency of values less than or equal to v.
|
long |
getCumFreq(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.
|
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(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 |
getPct(char v)
Returns the percentage of values that are equal to v
(as a proportion between 0 and 1).
|
double |
getPct(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).
|
long |
getSumFreq()
Returns the sum of all frequencies.
|
int |
getUniqueCount()
Returns the number of values in the frequency table.
|
int |
hashCode() |
String |
toString()
Return a string representation of this frequency
distribution.
|
Iterator<Comparable<?>> |
valuesIterator()
Returns an Iterator over the set of values that have been added.
|
public Frequency()
public Frequency(Comparator<?> comparator)
comparator
- Comparator used to order valuespublic String toString()
public void addValue(Comparable<?> v)
If other objects have already been added to this Frequency, v must be comparable to those that have already been added.
v
- the value to add.IllegalArgumentException
- if v
is not comparable with previous entriespublic void addValue(int v)
v
- the value to add.public void addValue(long v)
v
- the value to add.public void addValue(char v)
v
- the value to add.public void clear()
public Iterator<Comparable<?>> valuesIterator()
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.
public long getSumFreq()
public long getCount(Comparable<?> v)
v
- the value to lookup.public long getCount(int v)
v
- the value to lookup.public long getCount(long v)
v
- the value to lookup.public long getCount(char v)
v
- the value to lookup.public int getUniqueCount()
valuesIterator()
public double getPct(Comparable<?> v)
Returns Double.NaN
if no values have been added.
v
- the value to lookuppublic double getPct(int v)
v
- the value to lookuppublic double getPct(long v)
v
- the value to lookuppublic double getPct(char v)
v
- the value to lookuppublic long getCumFreq(Comparable<?> v)
Returns 0 if v is not comparable to the values set.
v
- the value to lookup.public long getCumFreq(int v)
Returns 0 if v is not comparable to the values set.
v
- the value to lookuppublic long getCumFreq(long v)
Returns 0 if v is not comparable to the values set.
v
- the value to lookuppublic long getCumFreq(char v)
Returns 0 if v is not comparable to the values set.
v
- the value to lookuppublic double getCumPct(Comparable<?> v)
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.
v
- the value to lookuppublic double getCumPct(int v)
Returns 0 if v is not comparable to the values set.
v
- the value to lookuppublic double getCumPct(long v)
Returns 0 if v is not comparable to the values set.
v
- the value to lookuppublic double getCumPct(char v)
Returns 0 if v is not comparable to the values set.
v
- the value to lookupCopyright © 2003-2012 Apache Software Foundation. All Rights Reserved.