我想从我的数组中删除重复的对象。删除自定义对象的ArrayList中的重复
我有我的习俗是由两个双:x和y。
我想要做的是删除重复的((X & & Y)==(X1 & & Y1)),并且如果x == X1我想保持它具有较高的y中的对象。
ArrayList<MyObject> list = [x(0),y(0)], [x(0),y(0)], [x(0.5),y(0.5], [x(0.5),y(0.6)], [x(1),y(1)];
ArrayList<MyObject> results = [x(0),y(0)], [x(0.5),y(0.6)], [x(1),y(1)];
我试图实现equals方法,但我不如何使用它:
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof MyObject)) {
return false;
}
return (this.x == ((MyObject)obj).x);
}
列表使用Collections.sort用x总是嘱咐。
谢谢大家。
通常情况下,'X == X + 1'是不正确的。你可能的意思是'x == x1',并将它与事实混淆起来,在你的列表中,具有相同'x'值的条目被连续存储。 – didierc
对不起,谢谢 – user2335528
现在,如果你在x和y上正确地分类你的物品,问题就变得微不足道了。 – didierc