如何通过对象的ArrayList迭代和对象属性查找重复? [关闭](how to Iterate

2019-09-18 03:39发布

我有以下类:

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

我已经类A的ArrayList像ArrayList<A> alist = new ArrayList<>();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具有相同字符串列表。 例如:
从上面的列表中,我们可以看到第二和第五元素有重复的字符串列表所以加他们的价值观和只有一个与增值保存和删除等。 同样,元素第3和第6具有相同的字符串列表(字符串命令并非以内部串名单很重要)。 因此,对于上面的列表中,预期产出将是:

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

任何人可以帮助我解决这个通过提供一些示例代码吗? 我不是在Java中那么好。 所以,请原谅我,如果我犯了任何错误!

谢谢!

Answer 1:

一个良好的开端将定义哪些.equals()方法在A级那么它只是作为循环访问您的收藏容易,并询问是否a.eqauls(B)。



文章来源: how to Iterate through an arrayList of object and find duplicates in object properties? [closed]