- java.lang.Object
-
- org.ojalgo.type.function.TwoStepMapper.KeyCounter<T,G>
-
- All Implemented Interfaces:
TwoStepMapper<T,FrequencyMap<G>>,TwoStepMapper.Combineable<T,FrequencyMap<G>,TwoStepMapper.KeyCounter<T,G>>,TwoStepMapper.Mergeable<T,FrequencyMap<G>>
- Enclosing interface:
- TwoStepMapper<T,R>
public static final class TwoStepMapper.KeyCounter<T,G> extends java.lang.Object implements TwoStepMapper.Combineable<T,FrequencyMap<G>,TwoStepMapper.KeyCounter<T,G>>, TwoStepMapper.Mergeable<T,FrequencyMap<G>>
A frequency counter that optionally filters some elements when merging subresults.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.ojalgo.type.function.TwoStepMapper
TwoStepMapper.Combineable<T,R,A extends TwoStepMapper.Combineable<T,R,A>>, TwoStepMapper.KeyCounter<T,G>, TwoStepMapper.Mergeable<T,R>, TwoStepMapper.SimpleCache<K,V>
-
-
Field Summary
Fields Modifier and Type Field Description private FrequencyMap<G>myCounterprivate java.util.function.Function<T,G>myExtractorprivate FrequencyMap.FrequencyPredicate<G>myPredicate
-
Constructor Summary
Constructors Constructor Description KeyCounter(java.util.function.Function<T,G> extractor)KeyCounter(java.util.function.Function<T,G> extractor, FrequencyMap.FrequencyPredicate<G> predicate)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcombine(TwoStepMapper.KeyCounter<T,G> other)This method can be used to combine the state of multiple instances.voidconsume(T item)Input/consume the items that should be mapped(package private) FrequencyMap<G>getCounter()FrequencyMap<G>getResults()Output the mapped resultsvoidmerge(FrequencyMap<G> other)This method can be used to merge the results from multiple instances.static <T> TwoStepMapper.KeyCounter<T,T>newInstance()static <T> TwoStepMapper.KeyCounter<T,T>newInstance(FrequencyMap.FrequencyPredicate<T> predicate)voidreset()Reset, so it can be re-used
-
-
-
Field Detail
-
myCounter
private final FrequencyMap<G> myCounter
-
myPredicate
private final FrequencyMap.FrequencyPredicate<G> myPredicate
-
-
Constructor Detail
-
KeyCounter
public KeyCounter(java.util.function.Function<T,G> extractor)
- Parameters:
extractor- The key extractor
-
KeyCounter
public KeyCounter(java.util.function.Function<T,G> extractor, FrequencyMap.FrequencyPredicate<G> predicate)
- Parameters:
extractor- The key extractorpredicate- Filter used when merging/combining results
-
-
Method Detail
-
newInstance
public static <T> TwoStepMapper.KeyCounter<T,T> newInstance()
-
newInstance
public static <T> TwoStepMapper.KeyCounter<T,T> newInstance(FrequencyMap.FrequencyPredicate<T> predicate)
-
combine
public void combine(TwoStepMapper.KeyCounter<T,G> other)
Description copied from interface:TwoStepMapper.CombineableThis method can be used to combine the state of multiple instances. The intermediate/internal state from one instance is combined into another.- Specified by:
combinein interfaceTwoStepMapper.Combineable<T,FrequencyMap<G>,TwoStepMapper.KeyCounter<T,G>>
-
consume
public void consume(T item)
Description copied from interface:TwoStepMapperInput/consume the items that should be mapped- Specified by:
consumein interfaceTwoStepMapper<T,G>
-
getResults
public FrequencyMap<G> getResults()
Description copied from interface:TwoStepMapperOutput the mapped results- Specified by:
getResultsin interfaceTwoStepMapper<T,G>
-
merge
public void merge(FrequencyMap<G> other)
Description copied from interface:TwoStepMapper.MergeableThis method can be used to merge the results from multiple instances. The final results from one instance is merged into another.- Specified by:
mergein interfaceTwoStepMapper.Mergeable<T,G>
-
reset
public void reset()
Description copied from interface:TwoStepMapperReset, so it can be re-used- Specified by:
resetin interfaceTwoStepMapper<T,G>
-
getCounter
FrequencyMap<G> getCounter()
-
-