Class DefaultUndirectedGraph<V,​E>

  • Type Parameters:
    V - the graph vertex type
    E - 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
    • 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 null
        edgeSupplier - the edge supplier, can be null
        weighted - 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 type
        E - 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 type
        E - the graph edge type
        Parameters:
        edgeSupplier - the edge supplier of the new graph
        Returns:
        a builder for this kind of graph