- java.lang.Object
-
- org.ojalgo.random.FrequencyMap<T>
-
public final class FrequencyMap<T> extends java.lang.ObjectCount the occurrence of different keys
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceFrequencyMap.FrequencyPredicate<T>
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.ConcurrentHashMap<T,java.util.concurrent.atomic.LongAdder>myMapprivate java.util.concurrent.atomic.LongAddermyPopulation
-
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 voidadd(T element, long count)voidaddAll(java.util.Map<? extends T,? extends java.lang.Number> frequencies)voidaddAll(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.LongAdderget(T element)private java.util.Map.Entry<T,java.util.concurrent.atomic.LongAdder>getEntryWithHighestFrequenecy()longgetFrequency(T element)(package private) java.util.concurrent.ConcurrentHashMap<T,java.util.concurrent.atomic.LongAdder>getMap()longgetMaximumFrequenecy()TgetMode()doublegetRelativeFrequency(T element)voidincrement(T element)voidincrementAll(java.lang.Iterable<? extends T> elements)voidmerge(FrequencyMap<T> other)voidmerge(FrequencyMap<T> other, FrequencyMap.FrequencyPredicate<T> predicate)intnumberOfKnownKeys()longpopulationSize()voidreset()voidretainIf(FrequencyMap.FrequencyPredicate<T> predicate)Remove entries that do not satisfy the predicate - remove elements that would not be returned byelements(FrequencyPredicate).SampleSetsample()
-
-
-
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()
-
-