Java RTree搜索函数未调用回调函数预期次数

Java RTree搜索函数未调用回调函数预期次数,java,r-tree,Java,R Tree,我正在使用一个开源RTree库() 我通过添加边界框创建了一个rtree实例。 然后,我将搜索应用为: Map<String, Rectangle> nameByBoundingBox = new HashMap(); RTree<String, Rectangle> tree = RTree.create(); ...populate nameByBoundingBox, tree with same rectangles for(Map.Entry<String

我正在使用一个开源RTree库() 我通过添加边界框创建了一个rtree实例。 然后,我将搜索应用为:

Map<String, Rectangle> nameByBoundingBox = new HashMap();
RTree<String, Rectangle> tree = RTree.create();
...populate nameByBoundingBox, tree with same rectangles
for(Map.Entry<String, Rectangle> entry : nameByBoundingBox.entrySet()) {
        tree.search(entry.getValue(), new Func2<Rectangle, Rectangle, Boolean>() {
            public Boolean call(Rectangle g, Rectangle r) {
                
                return g.distance(r) == 0.0;
            }
        })
        .forEach((Entry<String, Rectangle> rectangle) -> {
            // don't pair up with itself
            if(!rectangle.value().equals(entry.getKey())) {
                ....do something
            }
        });
        // remove this node from rtree so that its not paired up again
        tree = tree.delete(entry.getKey(), nameByBoundingBox.get(entry.getKey()));
    }
MapNameByBoundingBox=newHashMap();
RTree-tree=RTree.create();
…使用相同的矩形填充nameByBoundingBox树
对于(Map.Entry:nameByBoundingBox.entrySet()){
tree.search(entry.getValue(),new Func2()){
公共布尔调用(矩形g,矩形r){
返回g.距离(r)==0.0;
}
})
.forEach((输入矩形)->{
//不要和自己配对
如果(!rectangle.value().equals(entry.getKey())){
……做点什么
}
});
//从rtree中删除此节点,使其不再配对
tree=tree.delete(entry.getKey(),nameByBoundingBox.get(entry.getKey());
}
所以我基本上想把重叠的矩形配对

我希望,若我在树中添加了两个矩形,那个么调用“call”函数的次数必须是三次。但我注意到它只被调用了两次。每次g和r都相同,即我添加的两个矩形从未调用“call”

这里少了什么