Package de.xima.fc.common.collection
Class ModCountMap<K,V>
- java.lang.Object
-
- de.xima.fc.common.collection.ModCountMap<K,V>
-
- Type Parameters:
K- Type of the map keys.V- Type of the map values.
- All Implemented Interfaces:
Map<K,V>
public final class ModCountMap<K,V> extends Object implements Map<K,V>
A map that keeps track of the number of modifications made to it. The only guarantee is that the modification increases by some amount when the deque is modified. No guarantees are made about the exact amount by which the modification counter increases. This class is not thread-safe.- Since:
- 8.2.0
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Vcompute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)VcomputeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)VcomputeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)booleancontainsKey(Object key)booleancontainsValue(Object value)Set<Map.Entry<K,V>>entrySet()booleanequals(Object obj)voidforEach(BiConsumer<? super K,? super V> action)Vget(Object key)VgetOrDefault(Object key, V defaultValue)inthashCode()booleanisEmpty()Set<K>keySet()Vmerge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)longmodCount()Returns the number of modifications made to this map.Counter.LongCountermodCounter()Returns the modification counter of this map.Vput(K key, V value)voidputAll(Map<? extends K,? extends V> m)VputIfAbsent(K key, V value)Vremove(Object key)booleanremove(Object key, Object value)Vreplace(K key, V value)booleanreplace(K key, V oldValue, V newValue)voidreplaceAll(BiFunction<? super K,? super V,? extends V> function)intsize()StringtoString()Collection<V>values()static <K,V>
ModCountMap<K,V>wrap(Map<K,V> map)Wraps a map in aModCountMapthat keeps track of the number of modifications made to it.static <K,V>
ModCountMap<K,V>wrap(Map<K,V> map, Counter.LongCounter modCounter)Wraps a map in aModCountMapthat keeps track of the number of modifications made to it.
-
-
-
Method Detail
-
computeIfAbsent
public V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
- Specified by:
computeIfAbsentin interfaceMap<K,V>
-
computeIfPresent
public V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
- Specified by:
computeIfPresentin interfaceMap<K,V>
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKeyin interfaceMap<K,V>
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValuein interfaceMap<K,V>
-
equals
public boolean equals(Object obj)
-
forEach
public void forEach(BiConsumer<? super K,? super V> action)
-
getOrDefault
public V getOrDefault(Object key, V defaultValue)
- Specified by:
getOrDefaultin interfaceMap<K,V>
-
hashCode
public int hashCode()
-
merge
public V merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
-
modCount
public long modCount()
Returns the number of modifications made to this map.- Returns:
- The number of modifications made to this map.
-
modCounter
public Counter.LongCounter modCounter()
Returns the modification counter of this map.- Returns:
- The modification counter of this map.
-
replaceAll
public void replaceAll(BiFunction<? super K,? super V,? extends V> function)
- Specified by:
replaceAllin interfaceMap<K,V>
-
wrap
public static <K,V> ModCountMap<K,V> wrap(Map<K,V> map)
Wraps a map in aModCountMapthat keeps track of the number of modifications made to it. May not wrap if already wrapped.- Type Parameters:
K- Key type.V- Value type.- Parameters:
map- The map to wrap.- Returns:
- The wrapped map.
-
wrap
public static <K,V> ModCountMap<K,V> wrap(Map<K,V> map, Counter.LongCounter modCounter)
Wraps a map in aModCountMapthat keeps track of the number of modifications made to it. May not wrap if already wrapped in a ModCountMap with the same modCounter.- Type Parameters:
K- Key type.V- Value type.- Parameters:
map- The map to wrap.modCounter- The modification counter to use.- Returns:
- The wrapped map.
-
-