Class FrequencyMap<T>


  • public final class FrequencyMap<T>
    extends java.lang.Object
    Count the occurrence of different keys
    • 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)
      • numberOfKnownKeys

        public int numberOfKnownKeys()
      • populationSize

        public long populationSize()
      • reset

        public void reset()
      • 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()