Class DirectedEdgeContainer<V,​E>

  • Type Parameters:
    V - the graph vertex type
    E - the graph edge type
    All Implemented Interfaces:
    Serializable

    public class DirectedEdgeContainer<V,​E>
    extends Object
    implements Serializable
    A container for vertex edges.

    In this edge container we use array lists to minimize memory toll. However, for high-degree vertices we replace the entire edge container with a direct access subclass (to be implemented).

    Author:
    Barak Naveh
    See Also:
    Serialized Form
    • Method Detail

      • getUnmodifiableIncomingEdges

        public Set<E> getUnmodifiableIncomingEdges()
        A lazy build of unmodifiable incoming edge set.
        Returns:
        an unmodifiable version of the incoming edge set
      • getUnmodifiableOutgoingEdges

        public Set<E> getUnmodifiableOutgoingEdges()
        A lazy build of unmodifiable outgoing edge set.
        Returns:
        an unmodifiable version of the outgoing edge set
      • addIncomingEdge

        public void addIncomingEdge​(E e)
        Add an incoming edge.
        Parameters:
        e - the edge to add
      • addOutgoingEdge

        public void addOutgoingEdge​(E e)
        Add an outgoing edge.
        Parameters:
        e - the edge to add
      • removeIncomingEdge

        public void removeIncomingEdge​(E e)
        Remove an incoming edge.
        Parameters:
        e - the edge to remove
      • removeOutgoingEdge

        public void removeOutgoingEdge​(E e)
        Remove an outgoing edge.
        Parameters:
        e - the edge to remove