Package org.ojalgo.random
Class FrequencyMap<T>
- java.lang.Object
-
- org.ojalgo.random.FrequencyMap<T>
-
public final class FrequencyMap<T> extends java.lang.Object
Count the occurrence of different keys
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
FrequencyMap.FrequencyPredicate<T>
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.ConcurrentHashMap<T,java.util.concurrent.atomic.LongAdder>
myMap
private java.util.concurrent.atomic.LongAdder
myPopulation
-
Constructor Summary
Constructors Constructor Description FrequencyMap()
FrequencyMap(java.lang.Iterable<? extends T> initial)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(T element, long count)
void
addAll(java.util.Map<? extends T,? extends java.lang.Number> frequencies)
void
addAll(java.util.Set<? extends T> elements, long count)
java.util.Set<T>
elements()
java.util.Set<T>
elements(FrequencyMap.FrequencyPredicate<T> predicate)
private java.util.concurrent.atomic.LongAdder
get(T element)
private java.util.Map.Entry<T,java.util.concurrent.atomic.LongAdder>
getEntryWithHighestFrequenecy()
long
getFrequency(T element)
(package private) java.util.concurrent.ConcurrentHashMap<T,java.util.concurrent.atomic.LongAdder>
getMap()
long
getMaximumFrequenecy()
T
getMode()
double
getRelativeFrequency(T element)
void
increment(T element)
void
incrementAll(java.lang.Iterable<? extends T> elements)
void
merge(FrequencyMap<T> other)
void
merge(FrequencyMap<T> other, FrequencyMap.FrequencyPredicate<T> predicate)
int
numberOfKnownKeys()
long
populationSize()
void
reset()
void
retainIf(FrequencyMap.FrequencyPredicate<T> predicate)
Remove entries that do not satisfy the predicate - remove elements that would not be returned byelements(FrequencyPredicate)
.SampleSet
sample()
-
-
-
Field Detail
-
myMap
private final java.util.concurrent.ConcurrentHashMap<T,java.util.concurrent.atomic.LongAdder> myMap
-
myPopulation
private final java.util.concurrent.atomic.LongAdder myPopulation
-
-
Constructor Detail
-
FrequencyMap
public FrequencyMap()
-
FrequencyMap
public FrequencyMap(java.lang.Iterable<? extends T> initial)
- Parameters:
initial
- An initial set of elements to add to the frequency map (with frequency zero)
-
-
Method Detail
-
add
public void add(T element, long count)
-
addAll
public void addAll(java.util.Map<? extends T,? extends java.lang.Number> frequencies)
-
addAll
public void addAll(java.util.Set<? extends T> elements, long count)
-
elements
public java.util.Set<T> elements()
- Returns:
- All known elements
-
elements
public java.util.Set<T> elements(FrequencyMap.FrequencyPredicate<T> predicate)
- Parameters:
predicate
- An element filter- Returns:
- A set of elements that pass the filter
-
getFrequency
public long getFrequency(T element)
-
getMaximumFrequenecy
public long getMaximumFrequenecy()
-
getMode
public T getMode()
-
getRelativeFrequency
public double getRelativeFrequency(T element)
-
increment
public void increment(T element)
-
incrementAll
public void incrementAll(java.lang.Iterable<? extends T> elements)
-
merge
public void merge(FrequencyMap<T> other)
-
merge
public void merge(FrequencyMap<T> other, FrequencyMap.FrequencyPredicate<T> predicate)
-
numberOfKnownKeys
public int numberOfKnownKeys()
-
populationSize
public long populationSize()
-
reset
public void reset()
-
retainIf
public void retainIf(FrequencyMap.FrequencyPredicate<T> predicate)
Remove entries that do not satisfy the predicate - remove elements that would not be returned byelements(FrequencyPredicate)
.
-
sample
public SampleSet sample()
-
get
private java.util.concurrent.atomic.LongAdder get(T element)
-
getEntryWithHighestFrequenecy
private java.util.Map.Entry<T,java.util.concurrent.atomic.LongAdder> getEntryWithHighestFrequenecy()
-
getMap
java.util.concurrent.ConcurrentHashMap<T,java.util.concurrent.atomic.LongAdder> getMap()
-
-