| Modifier and Type | Method and Description |
|---|---|
IMap<K,V> |
added()
Entries which have been added to the underlying data structure, some of which may shadow underlying entries.
|
DiffMap<K,V> |
clone() |
boolean |
equals(Object obj) |
DiffMap<K,V> |
forked()
This returns a data structure which is forked, which is equivalent to Clojure's persistent
data structures, also sometimes called functional or immutable.
|
int |
hashCode() |
boolean |
isLinear() |
DiffMap<K,V> |
linear()
This returns a data structure which is linear, or temporarily mutable.
|
DiffMap<K,V> |
put(K key,
V value,
BinaryOperator<V> merge) |
DiffMap<K,V> |
remove(K key) |
ISortedSet<Long> |
removedIndices()
Indices which have been removed or shadowed from the underlying data structure.
|
String |
toString() |
IMap<K,V> |
underlying()
The baseline data structure.
|
finalize, getClass, notify, notifyAll, wait, wait, waitget, indexOf, iterator, keyEquality, keyHash, nth, sizeapply, contains, containsAll, containsAll, containsAny, containsAny, difference, difference, entries, equals, get, getOrCreate, hashSortedEntries, intersection, intersection, keys, mapValues, merge, put, save, split, spliterator, stream, toMap, union, update, valuesnth, savepublic boolean isLinear()
public DiffMap<K,V> forked()
ICollectionIf only a single function or scope uses the data structure, it can be left as a linear data structure, which can have significant performance benefits.
If the data structure is already forked, it will simply return itself.
public DiffMap<K,V> linear()
ICollection
If ICollection.forked() is called on a linear collection, all references to that linear collection should be discarded.
If the data structure is already linear, it will simply return itself.
public IMap<K,V> underlying()
IDiffMappublic IMap<K,V> added()
IDiffMappublic ISortedSet<Long> removedIndices()
IDiffMapremovedIndices in interface IDiffMap<K,V>