我有以下课程:
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方面不是那么好。如果我犯了任何错误,请原谅我!
谢谢!
答案 0 :(得分:0)
一个好的起点是定义.equals()方法在A类中的作用。然后它就像迭代你的集合一样简单,并询问a.eqauls(b)。