Class MutableAdjacencyListsGraph<V extends Vertex,​E extends Edge<V>>

  • All Implemented Interfaces:
    Graph<V,​E>, MutableGraph<V,​E>

    public class MutableAdjacencyListsGraph<V extends Vertex,​E extends Edge<V>>
    extends java.lang.Object
    implements MutableGraph<V,​E>
    • Constructor Summary

      Constructors 
      Constructor Description
      MutableAdjacencyListsGraph​(java.util.Set<V> vertex, java.util.Set<E> edge)
      Creates a graph comprising of the specified vertexes and edges.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addEdge​(E edge)
      Adds the specified edge to this graph.
      void addVertex​(V vertex)
      Adds the specified vertex to this graph.
      void clear()
      Clear the graph.
      boolean equals​(java.lang.Object obj)  
      java.util.Set<E> getEdges()
      Returns the set of edges comprising the graph.
      java.util.Set<E> getEdgesFrom​(V src)
      Returns all edges leading out from the specified source vertex.
      java.util.Set<E> getEdgesTo​(V dst)
      Returns all edges leading towards the specified destination vertex.
      java.util.Set<V> getVertexes()
      Returns the set of vertexes comprising the graph.
      int hashCode()  
      void removeEdge​(E edge)
      Removes the specified edge from the graph.
      void removeVertex​(V vertex)
      Removes the specified vertex from the graph.
      Graph<V,​E> toImmutable()
      Returns an immutable copy of this graph.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • MutableAdjacencyListsGraph

        public MutableAdjacencyListsGraph​(java.util.Set<V> vertex,
                                          java.util.Set<E> edge)
        Creates a graph comprising of the specified vertexes and edges.
        Parameters:
        vertex - set of graph vertexes
        edge - set of graph edges
    • Method Detail

      • getVertexes

        public java.util.Set<V> getVertexes()
        Description copied from interface: Graph
        Returns the set of vertexes comprising the graph.
        Specified by:
        getVertexes in interface Graph<V extends Vertex,​E extends Edge<V>>
        Returns:
        set of vertexes
      • getEdges

        public java.util.Set<E> getEdges()
        Description copied from interface: Graph
        Returns the set of edges comprising the graph.
        Specified by:
        getEdges in interface Graph<V extends Vertex,​E extends Edge<V>>
        Returns:
        set of edges
      • getEdgesFrom

        public java.util.Set<E> getEdgesFrom​(V src)
        Description copied from interface: Graph
        Returns all edges leading out from the specified source vertex.
        Specified by:
        getEdgesFrom in interface Graph<V extends Vertex,​E extends Edge<V>>
        Parameters:
        src - source vertex
        Returns:
        set of egress edges; empty if no such edges
      • getEdgesTo

        public java.util.Set<E> getEdgesTo​(V dst)
        Description copied from interface: Graph
        Returns all edges leading towards the specified destination vertex.
        Specified by:
        getEdgesTo in interface Graph<V extends Vertex,​E extends Edge<V>>
        Parameters:
        dst - destination vertex
        Returns:
        set of ingress vertexes; empty if no such edges
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • addVertex

        public void addVertex​(V vertex)
        Description copied from interface: MutableGraph
        Adds the specified vertex to this graph.
        Specified by:
        addVertex in interface MutableGraph<V extends Vertex,​E extends Edge<V>>
        Parameters:
        vertex - new vertex
      • removeVertex

        public void removeVertex​(V vertex)
        Description copied from interface: MutableGraph
        Removes the specified vertex from the graph.
        Specified by:
        removeVertex in interface MutableGraph<V extends Vertex,​E extends Edge<V>>
        Parameters:
        vertex - vertex to be removed
      • addEdge

        public void addEdge​(E edge)
        Description copied from interface: MutableGraph
        Adds the specified edge to this graph. If the edge vertexes are not already in the graph, they will be added as well.
        Specified by:
        addEdge in interface MutableGraph<V extends Vertex,​E extends Edge<V>>
        Parameters:
        edge - new edge
      • removeEdge

        public void removeEdge​(E edge)
        Description copied from interface: MutableGraph
        Removes the specified edge from the graph.
        Specified by:
        removeEdge in interface MutableGraph<V extends Vertex,​E extends Edge<V>>
        Parameters:
        edge - edge to be removed
      • clear

        public void clear()
        Clear the graph.