java.lang.Object
org.jgrapht.graph.AbstractGraph<V,E>
org.jgrapht.graph.AbstractBaseGraph<V,E>
org.jgrapht.graph.Multigraph<V,E>
org.jgrapht.graph.WeightedMultigraph<V,E>
- Type Parameters:
V
- the graph vertex typeE
- the graph edge type
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,Graph<V,E>
public class WeightedMultigraph<V,E> extends Multigraph<V,E>
A weighted multigraph. A weighted multigraph is a non-simple undirected graph in which no loops
are permitted, but multiple (parallel) edges between any two vertices are. The edges of a
weighted multigraph have weights. If you're unsure about multigraphs, see:
http://mathworld.wolfram.com/Multigraph.html.
- See Also:
- Serialized Form
-
Field Summary
-
Constructor Summary
Constructors Constructor Description WeightedMultigraph(java.lang.Class<? extends E> edgeClass)
Creates a new graph.WeightedMultigraph(java.util.function.Supplier<V> vertexSupplier, java.util.function.Supplier<E> edgeSupplier)
Creates a new graph. -
Method Summary
Modifier and Type Method Description static <V, E> GraphBuilder<V,E,? extends WeightedMultigraph<V,E>>
createBuilder(java.lang.Class<? extends E> edgeClass)
Create a builder for this kind of graph.static <V, E> GraphBuilder<V,E,? extends WeightedMultigraph<V,E>>
createBuilder(java.util.function.Supplier<E> edgeSupplier)
Create a builder for this kind of graph.Methods inherited from class org.jgrapht.graph.AbstractBaseGraph
addEdge, addEdge, addVertex, addVertex, clone, containsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeSource, getEdgeSupplier, getEdgeTarget, getEdgeWeight, getType, getVertexSupplier, incomingEdgesOf, inDegreeOf, iterables, outDegreeOf, outgoingEdgesOf, removeEdge, removeEdge, removeVertex, setEdgeSupplier, setEdgeWeight, setVertexSupplier, vertexSet
Methods inherited from class org.jgrapht.graph.AbstractGraph
assertVertexExist, containsEdge, equals, hashCode, removeAllEdges, removeAllEdges, removeAllEdges, removeAllVertices, toString, toStringFromSets
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.jgrapht.Graph
containsEdge, removeAllEdges, removeAllEdges, removeAllVertices, setEdgeWeight
-
Constructor Details
-
WeightedMultigraph
Creates a new graph.- Parameters:
edgeClass
- class on which to base the edge supplier
-
WeightedMultigraph
public WeightedMultigraph(java.util.function.Supplier<V> vertexSupplier, java.util.function.Supplier<E> edgeSupplier)Creates a new graph.- Parameters:
vertexSupplier
- the vertex supplier, can be nulledgeSupplier
- the edge supplier, can be null
-
-
Method Details
-
createBuilder
public static <V, E> GraphBuilder<V,E,? extends WeightedMultigraph<V,E>> createBuilder(java.lang.Class<? extends E> edgeClass)Create a builder for this kind of graph.- Type Parameters:
V
- the graph vertex typeE
- the graph edge type- Parameters:
edgeClass
- class on which to base factory for edges- Returns:
- a builder for this kind of graph
-
createBuilder
public static <V, E> GraphBuilder<V,E,? extends WeightedMultigraph<V,E>> createBuilder(java.util.function.Supplier<E> edgeSupplier)Create a builder for this kind of graph.- Type Parameters:
V
- the graph vertex typeE
- the graph edge type- Parameters:
edgeSupplier
- the edge supplier- Returns:
- a builder for this kind of graph
-