- java.lang.Object
-
- org.jgrapht.graph.AbstractGraph<V,E>
-
- org.jgrapht.graph.AbstractBaseGraph<V,E>
-
- org.jgrapht.graph.DefaultUndirectedGraph<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>
- Direct Known Subclasses:
DefaultUndirectedWeightedGraph
public class DefaultUndirectedGraph<V,E> extends AbstractBaseGraph<V,E>
The default implementation of an undirected graph. A default undirected graph is a non-simple undirected graph in which multiple (parallel) edges between any two vertices are not permitted, but loops are.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.jgrapht.Graph
DEFAULT_EDGE_WEIGHT
-
-
Constructor Summary
Constructors Constructor Description DefaultUndirectedGraph(java.lang.Class<? extends E> edgeClass)
Creates a new graph.DefaultUndirectedGraph(java.util.function.Supplier<V> vertexSupplier, java.util.function.Supplier<E> edgeSupplier, boolean weighted)
Creates a new graph.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <V,E>
GraphBuilder<V,E,? extends DefaultUndirectedGraph<V,E>>createBuilder(java.lang.Class<? extends E> edgeClass)
Create a builder for this kind of graph.static <V,E>
GraphBuilder<V,E,? extends DefaultUndirectedGraph<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, 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 Detail
-
DefaultUndirectedGraph
public DefaultUndirectedGraph(java.lang.Class<? extends E> edgeClass)
Creates a new graph.- Parameters:
edgeClass
- class on which to base the edge supplier
-
DefaultUndirectedGraph
public DefaultUndirectedGraph(java.util.function.Supplier<V> vertexSupplier, java.util.function.Supplier<E> edgeSupplier, boolean weighted)
Creates a new graph.- Parameters:
vertexSupplier
- the vertex supplier, can be nulledgeSupplier
- the edge supplier, can be nullweighted
- whether the graph is weighted or not
-
-
Method Detail
-
createBuilder
public static <V,E> GraphBuilder<V,E,? extends DefaultUndirectedGraph<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 DefaultUndirectedGraph<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 of the new graph- Returns:
- a builder for this kind of graph
-
-