Interface MutableValueGraph<N,V>
- Type Parameters:
N- Node parameter typeV- Value parameter type
- All Superinterfaces:
Graph<N>, ValueGraph<N,V>
A subinterface of
ValueGraph which adds mutation methods. When mutation is not required,
users should prefer the ValueGraph interface.- Since:
- 20.0
-
Method Summary
Modifier and TypeMethodDescriptionbooleanAddsnodeif it is not already present.putEdgeValue(N nodeU, N nodeV, V value) Adds an edge connectingnodeUtonodeVif one is not already present; associate that edge withvalue.removeEdge(Object nodeU, Object nodeV) Removes the edge connectingnodeUtonodeV, if it is present.booleanremoveNode(Object node) Removesnodeif it is present; all edges incident tonodewill also be removed.Methods inherited from interface Graph
adjacentNodes, allowsSelfLoops, degree, edges, inDegree, isDirected, nodeOrder, nodes, outDegree, predecessors, successorsMethods inherited from interface ValueGraph
edgeValue, edgeValueOrDefault, equals, hashCode
-
Method Details
-
addNode
Addsnodeif it is not already present.Nodes must be unique, just as
Mapkeys must be. They must also be non-null.- Returns:
trueif the graph was modified as a result of this call
-
putEdgeValue
Adds an edge connectingnodeUtonodeVif one is not already present; associate that edge withvalue. In an undirected graph, the edge will also connectnodeVtonodeU.Values do not have to be unique. However, values must be non-null.
Behavior if
nodeUandnodeVare not already present in this graph is implementation-dependent. Suggested behaviors include (a) silentlyaddingnodeUandnodeVto the graph (this is the behavior of the default implementations) or (b) throwingIllegalArgumentException.- Returns:
- the value previously associated with the edge connecting
nodeUtonodeV, or null if there was no such edge. - Throws:
IllegalArgumentException- if the introduction of the edge would violateGraph.allowsSelfLoops()
-
removeNode
Removesnodeif it is present; all edges incident tonodewill also be removed.- Returns:
trueif the graph was modified as a result of this call
-
removeEdge
-