AbstractBaseGraph#getEdge(V,V)
返回一个E.如果传递的两个顶点有多个连接边,它如何决定返回哪条边?
答案 0 :(得分: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)
。