Interface MutableNetwork<N,​E>

    • Method Detail

      • addNode

        boolean addNode​(N node)
        Adds node if it is not already present.

        Nodes must be unique, just as Map keys must be. They must also be non-null.

        Returns:
        true if the network was modified as a result of this call
      • addEdge

        boolean addEdge​(N nodeU,
                        N nodeV,
                        E edge)
        Adds edge connecting nodeU to nodeV. In an undirected network, the edge will also connect nodeV to nodeU.

        Edges must be unique, just as Map keys must be. They must also be non-null.

        If nodeU and nodeV are not already present in this graph, this method will silently add nodeU and nodeV to the graph.

        If edge already connects nodeU to nodeV (in the specified order if this network Network.isDirected(), else in any order), then this method will have no effect.

        Returns:
        true if the network was modified as a result of this call
        Throws:
        java.lang.IllegalArgumentException - if edge already exists and does not connect nodeU to nodeV, or if the introduction of the edge would violate Network.allowsParallelEdges() or Network.allowsSelfLoops()
      • removeNode

        boolean removeNode​(N node)
        Removes node if it is present; all edges incident to node will also be removed.
        Returns:
        true if the network was modified as a result of this call
      • removeEdge

        boolean removeEdge​(E edge)
        Removes edge from this network, if it is present.
        Returns:
        true if the network was modified as a result of this call