Package com.google.common.graph
Interface MutableGraph<N>
- Type Parameters:
N
- Node parameter type
- All Superinterfaces:
Graph<N>
A subinterface of
Graph
which adds mutation methods. When mutation is not required, users
should prefer the Graph
interface.- Since:
- 20.0
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Addsnode
if it is not already present.boolean
Adds an edge connectingnodeU
tonodeV
if one is not already present.boolean
removeEdge
(Object nodeU, Object nodeV) Removes the edge connectingnodeU
tonodeV
, if it is present.boolean
removeNode
(Object node) Removesnode
if it is present; all edges incident tonode
will also be removed.Methods inherited from interface com.google.common.graph.Graph
adjacentNodes, allowsSelfLoops, degree, edges, equals, hashCode, inDegree, isDirected, nodeOrder, nodes, outDegree, predecessors, successors
-
Method Details
-
addNode
Addsnode
if it is not already present.Nodes must be unique, just as
Map
keys must be. They must also be non-null.- Returns:
true
if the graph was modified as a result of this call
-
putEdge
Adds an edge connectingnodeU
tonodeV
if one is not already present. In an undirected graph, the edge will also connectnodeV
tonodeU
.Behavior if
nodeU
andnodeV
are not already present in this graph is implementation-dependent. Suggested behaviors include (a) silentlyadding
nodeU
andnodeV
to the graph (this is the behavior of the default implementations) or (b) throwingIllegalArgumentException
.- Returns:
true
if the graph was modified as a result of this call- Throws:
IllegalArgumentException
- if the introduction of the edge would violateGraph.allowsSelfLoops()
-
removeNode
Removesnode
if it is present; all edges incident tonode
will also be removed.- Returns:
true
if the graph was modified as a result of this call
-
removeEdge
Removes the edge connectingnodeU
tonodeV
, if it is present.- Returns:
true
if the graph was modified as a result of this call
-