如何遍历对象的arrayList并在对象属性中查找重复项?

时间:2012-06-15 19:07:06

标签: java collections arraylist duplicates iteration

我有以下课程:

class A {
    ArrayList<String> s = new ArrayList<>();
    double d = Double.MAX_VALUE;
}

我有一个类似于ArrayList<A> alist = new ArrayList<>();的A类数组列表 在alist我有一些如下的元素:

[[b  c]  1.3]
[[c  d]  0.2]
[[c  b  o]  0.9]
[[x  o  j]  1.8]
[[c  d]  1.7]
[[b  c  o]  2.2]
[[f  p  n]  1.1]
and so on...

我只需要遍历此alist并检查class A对象的字符串列表中是否有任何重复项。如果是,则保留仅一个元素并使用其d值添加其他d值,并从alist中删除具有相同String列表的其他元素。例如:
从上面的列表中我们可以看到第2和第5个元素具有重复的字符串列表,因此添加它们的值并仅保留其中一个具有该添加值并删除其他元素。同样,元素3rd和6具有相同的String列表(字符串顺序在内部字符串列表中不重要)。因此,对于上面的列表,预期输出将是:

[[b  c]  1.3]
[[c  d]  1.9]
[[b  c  o]  3.1]
[[x  o  j]  1.8]
[[f  p  n]  1.1]

有人可以通过提供一些示例代码来帮助我吗?我在Java方面不是那么好。如果我犯了任何错误,请原谅我!

谢谢!

1 个答案:

答案 0 :(得分:0)

一个好的起点是定义.equals()方法在A类中的作用。然后它就像迭代你的集合一样简单,并询问a.eqauls(b)。