HashSet根据条件删除元素

时间:2015-03-25 21:04:31

标签: hashset

我有一个包含数万个矩形的HashSet,当Y小于0时我想从HashSet中删除它

现在我的代码如下所示

    for (Rectangle p : point) {
        if(p.y<0){
            point.remove(p);
            System.out.println("removing p");
            continue;
        }

这是我的HashSet的代码

public HashSet<Rectangle> point;

它永远不会删除Y小于0的Rectangle,而是System.out.println(“remove p”);运行。

1 个答案:

答案 0 :(得分:0)

问题是HashSet不允许您删除其哈希值已更改的项目。所以改变物品几乎没用。而是使用libGDX中内置的Array类,它可以正常工作。不确定性能,但也许有人可以以更快的性能发布答案。

相关问题