我正在寻找一种仅使用Guava库使用标识符检索节点的方法。
我不想使用我考虑过的外部HashSet,因为我的数据集太大。

我想要一种使用索引(使用String或整数类型)为我的所有图形节点建立索引的方法,以后可以高效地检索我的节点。

现在,我可以遍历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可以使您对任何集合(例如一组图)执行此操作节点)。

另外,如果您只是在寻找一种内存效率更高的set实现,则可以使用很多选项,包括但不限于fastutilEclipse Collections和。

09-13 13:55