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 void
clear()
V
compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
V
computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
V
computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
boolean
containsKey(Object key)
boolean
containsValue(Object value)
Set<Map.Entry<K,V>>
entrySet()
boolean
equals(Object obj)
void
forEach(BiConsumer<? super K,? super V> action)
V
get(Object key)
V
getOrDefault(Object key, V defaultValue)
int
hashCode()
boolean
isEmpty()
Set<K>
keySet()
V
merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
long
modCount()
Returns the number of modifications made to this map.Counter.LongCounter
modCounter()
Returns the modification counter of this map.V
put(K key, V value)
void
putAll(Map<? extends K,? extends V> m)
V
putIfAbsent(K key, V value)
V
remove(Object key)
boolean
remove(Object key, Object value)
V
replace(K key, V value)
boolean
replace(K key, V oldValue, V newValue)
void
replaceAll(BiFunction<? super K,? super V,? extends V> function)
int
size()
String
toString()
Collection<V>
values()
static <K,V>
ModCountMap<K,V>wrap(Map<K,V> map)
Wraps a map in aModCountMap
that 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 aModCountMap
that 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:
computeIfAbsent
in interfaceMap<K,V>
-
computeIfPresent
public V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
- Specified by:
computeIfPresent
in interfaceMap<K,V>
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey
in interfaceMap<K,V>
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue
in 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:
getOrDefault
in 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:
replaceAll
in interfaceMap<K,V>
-
wrap
public static <K,V> ModCountMap<K,V> wrap(Map<K,V> map)
Wraps a map in aModCountMap
that 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 aModCountMap
that 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.
-
-