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
|
Iterator<Map.Entry<Comparable<?>,Long>> |
entrySetIterator()
Return an Iterator over the set of keys and values that have been added.
|
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() |
void |
incrementValue(Comparable<?> v,
long increment)
Increments the frequency count for v.
|
void |
merge(Collection<Frequency> others)
Merge a
Collection of Frequency objects into this instance. |
void |
merge(Frequency other)
Merge another Frequency object's counts into this instance.
|
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.MathIllegalArgumentException
- if v
is not comparable with previous entriespublic void incrementValue(Comparable<?> v, long increment)
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.increment
- the amount by which the value should be incrementedIllegalArgumentException
- if v
is not comparable with previous entriespublic void addValue(int v)
v
- the value to add.MathIllegalArgumentException
- if the table contains entries not
comparable to Integerpublic void addValue(long v)
v
- the value to add.MathIllegalArgumentException
- if the table contains entries not
comparable to Longpublic void addValue(char v)
v
- the value to add.MathIllegalArgumentException
- if the table contains entries not
comparable to Charpublic 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 Iterator<Map.Entry<Comparable<?>,Long>> entrySetIterator()
If added values are integral (i.e., integers, longs, Integers, or Longs), they are converted to Longs when they are added, so the values of the map entries 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 lookuppublic void merge(Frequency other)
other
- the other Frequency
object to be mergedpublic void merge(Collection<Frequency> others)
Collection
of Frequency
objects into this instance.
This Frequency's counts will be incremented (or set when not already set)
by the counts represented by each of the others.others
- the other Frequency
objects to be mergedCopyright © 2019 CNES. All rights reserved.