我有一个包含数万个矩形的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”);运行。
答案 0 :(得分:0)
问题是HashSet不允许您删除其哈希值已更改的项目。所以改变物品几乎没用。而是使用libGDX中内置的Array类,它可以正常工作。不确定性能,但也许有人可以以更快的性能发布答案。