【发布时间】:2015-10-13 10:03:38
【问题描述】:
我有一个数组列表
ArrayList<WorkPosition> info = new ArrayList<>();
在某些时候,我添加了一些对象。最后这个arrayList有多次相同的对象..该对象有一些int值和2个arraylists
97 [9, 10, 15] [1202, 1204, 2082]
97 [9, 10, 15] [1202, 1204, 2082]
97 [9, 10, 15] [1202, 1204, 2082]
42 [14, 16, 29] [404, 1081, 1201D]
42 [14, 16, 29] [404, 1081, 1201D]
42 [14, 16, 29] [404, 1081, 1201D]
57 [18, 30, 32] [2081, 435, 1032]
57 [18, 30, 32] [2081, 435, 1032]
57 [18, 30, 32] [2081, 435, 1032]
34 [19, 27, 28] [4501, 831, 201]
34 [19, 27, 28] [4501, 831, 201]
34 [19, 27, 28] [4501, 831, 201]
有什么方法可以删除多余的外观吗?
我读过这个How do I remove repeated elements from ArrayList?,但在我的情况下,我没有Strings,但对象类型为WorkPosition..
public class WorkPosition {
private int id;
ArrayList<Integer> machines = new ArrayList<>();
ArrayList<String> bottles= new ArrayList<>();
public WorkPosition(int id, ArrayList<Integer> machines, ArrayList<String> bottles) {
this.id = id;
this.machines = machines;
this.kaloupia = kaloupia;
}
//getters and setters...
}
【问题讨论】:
-
您可以改用
Set -
你应该给出WorkPosition源代码,关键是覆盖那个类的equals & hashcode
-
我添加了
WorkPosition类