HashSet根据条件删除元素

HashSet根据条件删除元素,hashset,Hashset,我有一个包含数万个矩形的哈希集,当Y小于0时,我想将其从哈希集中删除 现在我的代码如下所示 for (Rectangle p : point) { if(p.y<0){ point.remove(p); System.out.println("removing p"); continue; } 下面是我的HashSet的代码 public HashSet<Rectangl

我有一个包含数万个矩形的哈希集,当Y小于0时,我想将其从哈希集中删除

现在我的代码如下所示

    for (Rectangle p : point) {
        if(p.y<0){
            point.remove(p);
            System.out.println("removing p");
            continue;
        }
下面是我的HashSet的代码

public HashSet<Rectangle> point;

它从不删除Y小于0的矩形,而是删除System.out.PRINTLNP;运行。

问题是哈希集不允许删除哈希已更改的项。因此,更换物品几乎是无用的。相反,使用libGDX中内置的Array类,它会很好地工作。不确定性能,但也许有人可以发布性能更快的答案