У меня есть список:
private static List<Point> pointList = new ArrayList<>();
.
Point
= объект, представляющий точку на трехмерном графике.
Я могу сравнить очки с методом:
@Override
public boolean equals(Object o) {
if (this == o)
return true;
if (o == null || getClass() != o.getClass())
return false;
Point point = (Point) o;
return Arrays.equals(position, point.position);
}
Допустим, мой список выглядит так: {a1, a2, b1, a3, c1, c2, a4}
Все объекты являются разными объектами (a1 = / = a2 ..), но имеют одинаковые значения (a1, a2 ..., представляющие одну и ту же точку на графике)
Что я хочу - это удалить дубликаты Points
, которые находятся рядом друг с другом в списке, поэтому список будет выглядеть так {a, b, a, c, a}
Я пытался:
public List<Point> getUniq() {
List<Point> l = new ArrayList<>();
for (int i = 0; i < pointList.size()-1; i++) {
if (pointList.get(i).equals(pointList.get(i + 1))) {
l.add(pointList.get(i));
}
}
return l;
}
Но мне не хватает элементов.