AbstractBaseGraph#getedge(v、v)はどのように並列エッジに対処しますか?

StackOverflow https://stackoverflow.com//questions/21028475

  •  21-12-2019
  •  | 
  •  

質問

AbstractBaseGraph#getEdge(V,V)は単一のEを返します

役に立ちましたか?

解決

複数のエッジがある場合は、返されるのは1つだけです。

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

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

最初の正当なエッジ(ARGSに等しいソースとターゲットの頂点を持つ)が返されます。イテレータ(地図データ構造に基づく)は、コンポーネントが返される順序のGaurenteeを作成しないので、どのエッジが返されるかを確実にすることはできません。特定のエッジを調べて選択する必要がある場合は、おそらくgetAllEdges(V sourceVertex, V targetVertex)を使用する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top