| Constructor and Description |
|---|
DiffSet(IMap<V,?> underlying) |
DiffSet(ISet<V> underlying) |
| Modifier and Type | Method and Description |
|---|---|
ISet<V> |
add(V value) |
DiffSet<V> |
clone() |
IDiffMap<V,Void> |
diffMap() |
boolean |
equals(Object obj) |
ISet<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() |
ISet<V> |
linear()
This returns a data structure which is linear, or temporarily mutable.
|
ISet<V> |
remove(V value) |
String |
toString() |
finalize, getClass, notify, notifyAll, wait, wait, waitelements, indexOf, nth, size, underlying, valueEquality, valueHashcontains, containsAll, containsAll, containsAny, containsAny, difference, intersection, iterator, split, spliterator, stream, test, toArray, toArray, toSet, union, zipnth, savepublic boolean isLinear()
public ISet<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 ISet<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.