0

AbstractBaseGraph#getEdge(V,V)返回单个 E。如果通过的两个顶点有多个连接边,它如何决定返回哪条边?

4

1 回答 1

0

如果有多个边,看起来只返回一个:

    public E getEdge(V sourceVertex, V targetVertex){
    ...
    Iterator<E> iter =
                getEdgeContainer(sourceVertex).vertexEdges.iterator();

            while (iter.hasNext()) {
                E e = iter.next();
    ...

返回第一个合法边(源和目标顶点等于 args)。由于迭代器(基于 Map 数据结构)没有确定返回组件的顺序,因此无法确定返回哪条边。如果您需要检查并选择特定的边缘,您可能应该使用getAllEdges(V sourceVertex, V targetVertex).

于 2014-01-10T15:08:48.157 回答