V - the graph vertex typepublic class MutableDoubleValueGraphAdapter<V> extends MutableValueGraphAdapter<V,Double>
MutableValueGraph specialized with double values.
The adapter uses class EndpointPair to represent edges. Changes in the adapter such as
adding or removing vertices and edges are reflected in the underlying value graph.
Each edge in MutableValueGraph is associated with a double value which is mapped to the
edge weight in the resulting Graph. Thus, the graph is weighted and calling methods
Graph.getEdgeWeight(Object) and setEdgeWeight(EndpointPair, double) will get and set
the value of an edge.
See the example below on how to create such an adapter:
MutableValueGraph<String, Double> mutableValueGraph =
ValueGraphBuilder.directed().allowsSelfLoops(true).build();
mutableValueGraph.addNode("v1");
mutableValueGraph.addNode("v2");
mutableValueGraph.putEdgeValue("v1", "v2", 3.0);
Graph<String, EndpointPair<String>> graph = new MutableDoubleValueGraphAdapter<>(mutableValueGraph);
System.out.println(graph.getEdgeWeight(EndpointPair.ordered("v1", "v2")); // outputs 3.0
graph.setEdgeWeight(EndpointPair.ordered("v1", "v2"), 7.0);
System.out.println(graph.getEdgeWeight(EndpointPair.ordered("v1", "v2")); // outputs 7.0
defaultValueedgeSupplier, LOOPS_NOT_ALLOWED, unmodifiableEdgeSet, unmodifiableVertexSet, valueConverter, valueGraph, vertexSupplierDEFAULT_EDGE_WEIGHT| Constructor and Description |
|---|
MutableDoubleValueGraphAdapter(com.google.common.graph.MutableValueGraph<V,Double> valueGraph)
Create a new adapter.
|
MutableDoubleValueGraphAdapter(com.google.common.graph.MutableValueGraph<V,Double> valueGraph,
Supplier<V> vertexSupplier,
Supplier<com.google.common.graph.EndpointPair<V>> edgeSupplier)
Create a new adapter.
|
| Modifier and Type | Method and Description |
|---|---|
void |
setEdgeWeight(com.google.common.graph.EndpointPair<V> e,
double weight)
Assigns a weight to an edge.
|
addEdge, addEdge, addVertex, addVertex, clone, removeEdge, removeEdge, removeVertexcontainsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeSource, getEdgeSupplier, getEdgeTarget, getEdgeWeight, getType, getVertexSupplier, incomingEdgesOf, inDegreeOf, outDegreeOf, outgoingEdgesOf, setEdgeSupplier, setVertexSupplier, vertexSetassertVertexExist, containsEdge, equals, hashCode, removeAllEdges, removeAllEdges, removeAllEdges, removeAllVertices, toString, toStringFromSetsfinalize, getClass, notify, notifyAll, wait, wait, waitcontainsEdge, containsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeSource, getEdgeSupplier, getEdgeTarget, getEdgeWeight, getType, getVertexSupplier, incomingEdgesOf, inDegreeOf, outDegreeOf, outgoingEdgesOf, removeAllEdges, removeAllEdges, removeAllVertices, setEdgeWeight, vertexSetpublic MutableDoubleValueGraphAdapter(com.google.common.graph.MutableValueGraph<V,Double> valueGraph)
valueGraph - the value graphpublic MutableDoubleValueGraphAdapter(com.google.common.graph.MutableValueGraph<V,Double> valueGraph, Supplier<V> vertexSupplier, Supplier<com.google.common.graph.EndpointPair<V>> edgeSupplier)
valueGraph - the value graphvertexSupplier - the vertex supplieredgeSupplier - the edge supplierpublic void setEdgeWeight(com.google.common.graph.EndpointPair<V> e, double weight)
MutableValueGraphAdapterUnsupportedOperationException since the adapter works
one-way from values to weights. Adjusting the weights can be done by adjusting the values in
the underlying ValueGraph which will automatically be propagated using the provided
converter.setEdgeWeight in interface Graph<V,com.google.common.graph.EndpointPair<V>>setEdgeWeight in class MutableValueGraphAdapter<V,Double>e - edge on which to set weightweight - new weight for edgeCopyright © 2019. All rights reserved.