Class EclipseCollectionsLongMultiset

  • All Implemented Interfaces:
    java.io.Externalizable, java.io.Serializable, java.lang.Iterable<java.lang.Long>, org.eclipse.collections.api.IntIterable, org.eclipse.collections.api.map.primitive.IntValuesMap, org.eclipse.collections.api.map.primitive.LongIntMap, org.eclipse.collections.api.map.primitive.MutableIntValuesMap, org.eclipse.collections.api.map.primitive.MutableLongIntMap, org.eclipse.collections.api.PrimitiveIterable, org.eclipse.collections.impl.map.mutable.primitive.MutableLongKeysMap, org.eclipse.collections.impl.map.primitive.LongKeysMap, Clearable, IMemory<java.lang.Long>, IMemoryView<java.lang.Long>, IMultiset<java.lang.Long>

    public class EclipseCollectionsLongMultiset
    extends org.eclipse.collections.impl.map.mutable.primitive.LongIntHashMap
    implements IMultiset<java.lang.Long>
    Since:
    2.0

    TODO refactor common methods with EclipseCollectionsMultiset

    TODO refactor into LongBagMemory etc.

    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableIntValuesMap

        org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableIntValuesMap.AbstractIntValuesCollection, org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableIntValuesMap.SentinelValues
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean addOne​(java.lang.Long value)
      Adds one value occurrence to the memory.
      boolean addPositive​(java.lang.Long value, int count)
      Adds the given number of occurrences to the memory.
      boolean addSigned​(java.lang.Long value, int count)
      Adds the given number of occurrences to the memory.
      void clearAllOf​(java.lang.Long value)
      Removes all occurrences of the given value from the memory.
      boolean containsNonZero​(java.lang.Long value)  
      boolean containsNonZeroUnsafe​(java.lang.Object value)  
      java.util.Set<java.lang.Long> distinctValues()
      The set of distinct values
      boolean equals​(java.lang.Object obj)  
      void forEachEntryWithMultiplicities​(java.util.function.BiConsumer<java.lang.Long,​java.lang.Integer> entryConsumer)
      Process contained values with their multiplicities
      int getCount​(java.lang.Long value)
      Returns the number of occurrences of the given value.
      int getCountUnsafe​(java.lang.Object value)
      Returns the number of occurrences of the given value (which may be of any type).
      int hashCode()  
      java.util.Iterator<java.lang.Long> iterator()  
      boolean removeOne​(java.lang.Long value)
      Removes one occurrence of the given value from the memory.
      protected boolean removeOneInternal​(java.lang.Long value, boolean throwIfImpossible)  
      boolean removeOneOrNop​(java.lang.Long value)
      Removes one occurrence of the given value from the memory, if possible.
      • Methods inherited from class org.eclipse.collections.impl.map.mutable.primitive.LongIntHashMap

        addToValue, allocateTable, asSynchronized, asUnmodifiable, clear, compact, containsKey, flipUniqueValues, forEachKey, forEachKeyValue, get, getEmptyValue, getIfAbsent, getIfAbsentPut, getIfAbsentPut, getIfAbsentPutWith, getIfAbsentPutWithKey, getOccupiedWithData, getOrThrow, getSentinelValues, getTableSize, getValueAtIndex, injectInto, intIterator, isNonSentinelAtIndex, keySet, keysView, keyValuesView, newWithKeysValues, newWithKeysValues, newWithKeysValues, newWithKeysValues, put, putAll, readExternal, reject, remove, removeKey, removeKeyIfAbsent, select, setSentinelValuesNull, toImmutable, toString, updateValue, updateValues, values, withKeysValues, withKeysValues, withKeysValues, withKeyValue, withoutAllKeys, withoutKey, writeExternal
      • Methods inherited from class org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableIntValuesMap

        addEmptyKeyValue, addRemovedKeyValue, allSatisfy, anySatisfy, appendString, chunk, collect, contains, containsAll, containsValue, count, detectIfNone, each, forEach, forEachValue, isEmpty, max, min, noneSatisfy, notEmpty, reject, removeEmptyKey, removeRemovedKey, select, size, sum, toArray, toArray
      • Methods inherited from class org.eclipse.collections.impl.primitive.AbstractIntIterable

        asLazy, average, maxIfEmpty, median, minIfEmpty, toBag, toList, toSet, toSortedArray, toSortedList
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.eclipse.viatra.query.runtime.matchers.util.IMemory

        clear
      • Methods inherited from interface org.eclipse.collections.api.IntIterable

        allSatisfy, anySatisfy, asLazy, average, averageIfEmpty, chunk, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectInt, collectLong, collectShort, contains, containsAll, containsAll, containsAny, containsAny, containsNone, containsNone, count, detectIfNone, each, flatCollect, forEach, max, maxIfEmpty, median, medianIfEmpty, min, minIfEmpty, noneSatisfy, reduce, reduceIfEmpty, reject, select, sum, summaryStatistics, toArray, toArray, toBag, toList, toSet, toSortedArray, toSortedList, toSortedList, toSortedListBy, toSortedListBy
      • Methods inherited from interface org.eclipse.collections.api.map.primitive.IntValuesMap

        containsValue, forEachValue, tap
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
      • Methods inherited from interface org.eclipse.collections.impl.map.primitive.LongKeysMap

        isEmpty, notEmpty, size
      • Methods inherited from interface org.eclipse.collections.api.map.primitive.MutableIntValuesMap

        collect, reject, select
      • Methods inherited from interface org.eclipse.collections.api.map.primitive.MutableLongIntMap

        putPair, withAllKeyValues
      • Methods inherited from interface org.eclipse.collections.api.PrimitiveIterable

        appendString, appendString, appendString, isEmpty, makeString, makeString, makeString, notEmpty, size
    • Constructor Detail

      • EclipseCollectionsLongMultiset

        public EclipseCollectionsLongMultiset()
    • Method Detail

      • addOne

        public boolean addOne​(java.lang.Long value)
        Description copied from interface: IMemory
        Adds one value occurrence to the memory.
        Specified by:
        addOne in interface IMemory<java.lang.Long>
        Returns:
        true if the tuple was not present before in the memory, or (in case of IDeltaBag) is no longer present in the memory
      • addSigned

        public boolean addSigned​(java.lang.Long value,
                                 int count)
        Description copied from interface: IMemory
        Adds the given number of occurrences to the memory. The count value may or may not be negative.

        Precondition if IMultiset: at least the given amount of occurrences exist, if count is negative.

        Precondition if ISetMemory: count is +1 or -1, the latter is only allowed if the set contains the value.

        Specified by:
        addSigned in interface IMemory<java.lang.Long>
        count - the number of occurrences
        Returns:
        true if the tuple was not present before in the memory, or is no longer present in the memory
      • removeOne

        public boolean removeOne​(java.lang.Long value)
        Description copied from interface: IMemory
        Removes one occurrence of the given value from the memory.

        Precondition if IMultiset or ISetMemory: the value must have a positive amount of occurrences in the memory.

        Specified by:
        removeOne in interface IMemory<java.lang.Long>
        Returns:
        true if this was the the last occurrence of the value, or (in case of IDeltaBag) is the first negative occurrence of the value
      • removeOneOrNop

        public boolean removeOneOrNop​(java.lang.Long value)
        Description copied from interface: IMemory
        Removes one occurrence of the given value from the memory, if possible.

        Memory is unchanged and false is returned if IMultiset or ISetMemory and value had no occurrences in the memory

        Specified by:
        removeOneOrNop in interface IMemory<java.lang.Long>
        Returns:
        true if this was the the last occurrence of the value, or (in case of IDeltaBag) is the first negative occurrence of the value
        Since:
        2.3
      • removeOneInternal

        protected boolean removeOneInternal​(java.lang.Long value,
                                            boolean throwIfImpossible)
        Since:
        2.3
      • clearAllOf

        public void clearAllOf​(java.lang.Long value)
        Description copied from interface: IMemory
        Removes all occurrences of the given value from the memory.
        Specified by:
        clearAllOf in interface IMemory<java.lang.Long>
      • getCount

        public int getCount​(java.lang.Long value)
        Description copied from interface: IMemoryView
        Returns the number of occurrences of the given value.
        Specified by:
        getCount in interface IMemoryView<java.lang.Long>
        Returns:
        the number of occurrences
      • getCountUnsafe

        public int getCountUnsafe​(java.lang.Object value)
        Description copied from interface: IMemoryView
        Returns the number of occurrences of the given value (which may be of any type).
        Specified by:
        getCountUnsafe in interface IMemoryView<java.lang.Long>
        Returns:
        the number of occurrences
      • containsNonZero

        public boolean containsNonZero​(java.lang.Long value)
        Specified by:
        containsNonZero in interface IMemoryView<java.lang.Long>
        Returns:
        true if the given value is contained with a nonzero multiplicity
      • containsNonZeroUnsafe

        public boolean containsNonZeroUnsafe​(java.lang.Object value)
        Specified by:
        containsNonZeroUnsafe in interface IMemoryView<java.lang.Long>
        Returns:
        true if the given value (which may be of any type) is contained with a nonzero multiplicity
      • iterator

        public java.util.Iterator<java.lang.Long> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<java.lang.Long>
      • addPositive

        public boolean addPositive​(java.lang.Long value,
                                   int count)
        Description copied from interface: IMultiset
        Adds the given number of occurrences to the memory. The count value must be a positive number.
        Specified by:
        addPositive in interface IMultiset<java.lang.Long>
        count - the number of occurrences
        Returns:
        true if the tuple was not present before in the memory
      • distinctValues

        public java.util.Set<java.lang.Long> distinctValues()
        Description copied from interface: IMemoryView
        The set of distinct values
        Specified by:
        distinctValues in interface IMemoryView<java.lang.Long>
      • forEachEntryWithMultiplicities

        public void forEachEntryWithMultiplicities​(java.util.function.BiConsumer<java.lang.Long,​java.lang.Integer> entryConsumer)
        Description copied from interface: IMemoryView
        Process contained values with their multiplicities
        Specified by:
        forEachEntryWithMultiplicities in interface IMemoryView<java.lang.Long>
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface org.eclipse.collections.api.map.primitive.LongIntMap
        Overrides:
        hashCode in class org.eclipse.collections.impl.map.mutable.primitive.LongIntHashMap
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface org.eclipse.collections.api.map.primitive.LongIntMap
        Overrides:
        equals in class org.eclipse.collections.impl.map.mutable.primitive.LongIntHashMap