我正在寻找一种仅使用 Guava 库使用标识符检索节点的方法。 我不想使用外部 HashSet,我已经考虑过,因为我的数据集太大。
我想要一种使用索引、字符串或整数类型来索引所有图形节点的方法,并且稍后能够有效地检索我的节点。
现在我可以迭代 MutableGraph 的节点集,并检查对象相等性,如下所示:
MutableGraph<CategoryNode> wikiGraph = GraphBuilder.directed().build();
for (MyNode node : wikiGraph.nodes()) {
if(node.equals(new MyNode("myStringIndex"))) {
// object found !
return node;
}
}
但是如果节点数量变大,效率就会非常低。 Guava 中是否有用于索引图节点的内置解决方案,或者我是否需要使用另一个库?
最佳答案
如果您正在寻找一种方法来索引图形节点,遗憾的是 Guava 没有内置此功能。请考虑使用 CQEngine ,据我了解,您可以对任何集合(例如一组图形节点)执行此操作。
或者,如果您只是在寻找内存效率更高的集合实现,则有多种选择,包括但不限于 Koloboke , fastutil和 Eclipse Collections .
关于java - 使用 Guava Graph 通过 ID 获取节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50396569/