Interface PersistentMap<K,V extends @Nullable Object>

Type Parameters:
K - The type of keys.
V - The type of values.
All Superinterfaces:
Map<K,V>
All Known Subinterfaces:
PersistentSortedMap<K,V>, org.sosy_lab.common.collect.PersistentSortedMapBridge<K,V>
All Known Implementing Classes:
PathCopyingPersistentTreeMap

@Immutable(containerOf={"K","V"}) public interface PersistentMap<K,V extends @Nullable Object> extends Map<K,V>
Interface for persistent map. A persistent data structure is immutable, but provides cheap copy-and-write operations. Thus all write operations ({putAndCopy(Object, Object), {removeAndCopy(Object)}) will not modify the current instance, but return a new instance instead.

All modifying operations inherited from Map are not supported and will always throw UnsupportedOperationException. All collections returned by methods of this interface are also immutable.

Instances of this interface are thread-safe as long as published safely.