N
- Node parameter typeV
- Value parameter type@Beta public interface MutableValueGraph<N,V> extends ValueGraph<N,V>
ValueGraph
which adds mutation methods. When mutation is not required,
users should prefer the ValueGraph
interface.Modifier and Type | Method and Description |
---|---|
boolean |
addNode(N node)
Adds
node if it is not already present. |
V |
putEdgeValue(N nodeU,
N nodeV,
V value)
Adds an edge connecting
nodeU to nodeV if one is not already present; associate
that edge with value . |
V |
removeEdge(Object nodeU,
Object nodeV)
Removes the edge connecting
nodeU to nodeV , if it is present. |
boolean |
removeNode(Object node)
Removes
node if it is present; all edges incident to node will also be removed. |
edgeValue, edgeValueOrDefault, equals, hashCode
adjacentNodes, allowsSelfLoops, degree, edges, inDegree, isDirected, nodeOrder, nodes, outDegree, predecessors, successors
boolean addNode(N node)
node
if it is not already present.
Nodes must be unique, just as Map
keys must be. They must also be non-null.
true
if the graph was modified as a result of this callV putEdgeValue(N nodeU, N nodeV, V value)
nodeU
to nodeV
if one is not already present; associate
that edge with value
. In an undirected graph, the edge will also connect nodeV
to nodeU
.
Values do not have to be unique. However, values must be non-null.
Behavior if nodeU
and nodeV
are not already present in this graph is
implementation-dependent. Suggested behaviors include (a) silently adding
nodeU
and nodeV
to the graph (this is the behavior of the default
implementations) or (b) throwing IllegalArgumentException
.
nodeU
to nodeV
, or null if there was no such edge.IllegalArgumentException
- if the introduction of the edge would violate Graph.allowsSelfLoops()
boolean removeNode(Object node)
node
if it is present; all edges incident to node
will also be removed.true
if the graph was modified as a result of this callV removeEdge(Object nodeU, Object nodeV)
nodeU
to nodeV
, if it is present.nodeU
to nodeV
, or null if there was no such edge.Copyright © 2010-2016. All Rights Reserved.