Package org.apache.iceberg.util
Class CharSequenceMap<V>
- java.lang.Object
-
- org.apache.iceberg.util.CharSequenceMap<V>
-
- Type Parameters:
V- the type of values
- All Implemented Interfaces:
java.io.Serializable,java.util.Map<java.lang.CharSequence,V>
public class CharSequenceMap<V> extends java.lang.Object implements java.util.Map<java.lang.CharSequence,V>, java.io.SerializableA map that uses char sequences as keys.This implementation wraps provided keys into
CharSequenceWrapperfor consistent hashing and equals behavior. This ensures that objects of different types that represent the same sequence of characters are treated as equal keys in the map.Note: This map is not designed for concurrent modification by multiple threads. However, it supports safe concurrent reads, assuming there are no concurrent writes.
Note: This map does not support null keys.
- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()VcomputeIfAbsent(java.lang.CharSequence key, java.util.function.Supplier<V> valueSupplier)booleancontainsKey(java.lang.Object key)booleancontainsValue(java.lang.Object value)static <T> CharSequenceMap<T>create()java.util.Set<java.util.Map.Entry<java.lang.CharSequence,V>>entrySet()booleanequals(java.lang.Object other)Vget(java.lang.Object key)inthashCode()booleanisEmpty()java.util.Set<java.lang.CharSequence>keySet()Vput(java.lang.CharSequence key, V value)voidputAll(java.util.Map<? extends java.lang.CharSequence,? extends V> otherMap)Vremove(java.lang.Object key)intsize()java.lang.StringtoString()java.util.Collection<V>values()
-
-
-
Method Detail
-
create
public static <T> CharSequenceMap<T> create()
-
size
public int size()
- Specified by:
sizein interfacejava.util.Map<java.lang.CharSequence,V>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacejava.util.Map<java.lang.CharSequence,V>
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKeyin interfacejava.util.Map<java.lang.CharSequence,V>
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValuein interfacejava.util.Map<java.lang.CharSequence,V>
-
get
public V get(java.lang.Object key)
- Specified by:
getin interfacejava.util.Map<java.lang.CharSequence,V>
-
put
public V put(java.lang.CharSequence key, V value)
- Specified by:
putin interfacejava.util.Map<java.lang.CharSequence,V>
-
remove
public V remove(java.lang.Object key)
- Specified by:
removein interfacejava.util.Map<java.lang.CharSequence,V>
-
putAll
public void putAll(java.util.Map<? extends java.lang.CharSequence,? extends V> otherMap)
- Specified by:
putAllin interfacejava.util.Map<java.lang.CharSequence,V>
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Map<java.lang.CharSequence,V>
-
keySet
public java.util.Set<java.lang.CharSequence> keySet()
- Specified by:
keySetin interfacejava.util.Map<java.lang.CharSequence,V>
-
values
public java.util.Collection<V> values()
- Specified by:
valuesin interfacejava.util.Map<java.lang.CharSequence,V>
-
entrySet
public java.util.Set<java.util.Map.Entry<java.lang.CharSequence,V>> entrySet()
- Specified by:
entrySetin interfacejava.util.Map<java.lang.CharSequence,V>
-
computeIfAbsent
public V computeIfAbsent(java.lang.CharSequence key, java.util.function.Supplier<V> valueSupplier)
-
equals
public boolean equals(java.lang.Object other)
- Specified by:
equalsin interfacejava.util.Map<java.lang.CharSequence,V>- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacejava.util.Map<java.lang.CharSequence,V>- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-