1

如果我理解得很好,一个 EdgeIterator 只能使用一次。如果这是正确的,为什么我们不能简单地重置它以避免每次我们需要在相同的节点边上循环时创建一个新的 EdgeIterator 实例?

谢谢 !

4

1 回答 1

0

如果你使用 EdgeExplorer,EdgeIterator 会被重用:

// store somewhere
explorer = graph.createEdgeExplorer();

// use somewhere
EdgeIterator iter = explorer.setBaseNode(x);
while(iter) {..}

仍然要非常小心,因为每个线程和每个循环都需要一个 edgeExplorer,例如,一个资源管理器的双 for-loop 将失败:)

于 2015-06-19T20:36:20.703 回答