| Constructor and Description |
|---|
Graph() |
Graph(ToLongFunction<V> hashFn,
BiPredicate<V,V> equalsFn) |
| Modifier and Type | Method and Description |
|---|---|
Graph<V,E> |
add(V vertex) |
Graph<V,E> |
clone() |
E |
edge(V from,
V to) |
Iterable<IEdge<V,E>> |
edges() |
boolean |
equals(Object obj) |
Graph<V,E> |
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() |
Set<V> |
in(V vertex)
In an undirected graph, this is equivalent to
IGraph.out(Object). |
boolean |
isDirected() |
boolean |
isLinear() |
Graph<V,E> |
linear()
This returns a data structure which is linear, or temporarily mutable.
|
Graph<V,E> |
link(V from,
V to,
E edge,
BinaryOperator<E> merge) |
<U> Graph<V,U> |
mapEdges(Function<IEdge<V,E>,U> f) |
Graph<V,E> |
merge(IGraph<V,E> graph,
BinaryOperator<E> merge) |
Set<V> |
out(V vertex)
In an undirected graph, this is equivalent to
IGraph.in(Object). |
Graph<V,E> |
remove(V vertex) |
Graph<V,E> |
select(ISet<V> vertices) |
String |
toString() |
Graph<V,E> |
transpose() |
Graph<V,E> |
unlink(V from,
V to) |
BiPredicate<V,V> |
vertexEquality() |
ToLongFunction<V> |
vertexHash() |
Set<V> |
vertices() |
finalize, getClass, notify, notifyAll, wait, wait, waitadd, indexOf, iterator, link, link, merge, nth, remove, replace, replace, size, splitnth, saveforEach, spliteratorpublic Graph()
public Graph(ToLongFunction<V> hashFn, BiPredicate<V,V> equalsFn)
public Set<V> in(V vertex)
IGraphIGraph.out(Object).public Set<V> out(V vertex)
IGraphIGraph.in(Object).public boolean isLinear()
public boolean isDirected()
isDirected in interface IGraph<V,E>public ToLongFunction<V> vertexHash()
vertexHash in interface IGraph<V,E>public BiPredicate<V,V> vertexEquality()
vertexEquality in interface IGraph<V,E>public Graph<V,E> 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 Graph<V,E> 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.