Class UndirectedEdgeContainer<V,​E>

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

    public class UndirectedEdgeContainer<V,​E>
    extends java.lang.Object
    implements java.io.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).

    See Also:
    Serialized Form
    • Field Detail

      • vertexEdges

        java.util.Set<E> vertexEdges
      • unmodifiableVertexEdges

        private transient java.util.Set<E> unmodifiableVertexEdges
    • Constructor Detail

      • UndirectedEdgeContainer

        UndirectedEdgeContainer​(EdgeSetFactory<V,​E> edgeSetFactory,
                                V vertex)
    • Method Detail

      • getUnmodifiableVertexEdges

        public java.util.Set<E> getUnmodifiableVertexEdges()
        A lazy build of unmodifiable list of vertex edges
        Returns:
        an unmodifiable set of vertex edges
      • addEdge

        public void addEdge​(E e)
        Add a vertex edge
        Parameters:
        e - the edge to add
      • edgeCount

        public int edgeCount()
        Get number of vertex edges
        Returns:
        the number of vertex edges
      • removeEdge

        public void removeEdge​(E e)
        Remove a vertex edge
        Parameters:
        e - the edge to remove