Package com.google.common.graph
Interface MutableGraph<N>
-
- Type Parameters:
N
- Node parameter type
- All Superinterfaces:
Graph<N>
,PredecessorsFunction<N>
,SuccessorsFunction<N>
@Beta public interface MutableGraph<N> extends Graph<N>
A subinterface ofGraph
which adds mutation methods. When mutation is not required, users should prefer theGraph
interface.- Since:
- 20.0
- Author:
- James Sexton, Joshua O'Madadhain
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
addNode(N node)
Addsnode
if it is not already present.boolean
putEdge(N nodeU, N nodeV)
Adds an edge connectingnodeU
tonodeV
if one is not already present.boolean
removeEdge(N nodeU, N nodeV)
Removes the edge connectingnodeU
tonodeV
, if it is present.boolean
removeNode(N 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, hasEdgeConnecting, hashCode, incidentEdges, inDegree, isDirected, nodeOrder, nodes, outDegree, predecessors, successors
-
-
-
-
Method Detail
-
addNode
boolean addNode(N node)
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
boolean putEdge(N nodeU, N nodeV)
Adds an edge connectingnodeU
tonodeV
if one is not already present. In an undirected graph, the edge will also connectnodeV
tonodeU
.If
nodeU
andnodeV
are not already present in this graph, this method will silentlyadd
nodeU
andnodeV
to the graph.- Returns:
true
if the graph was modified as a result of this call- Throws:
java.lang.IllegalArgumentException
- if the introduction of the edge would violateGraph.allowsSelfLoops()
-
removeNode
boolean removeNode(N node)
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
boolean removeEdge(N nodeU, N nodeV)
Removes the edge connectingnodeU
tonodeV
, if it is present.- Returns:
true
if the graph was modified as a result of this call
-
-