2

我有以下课程:

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

我有一个 A 类的数组列表,比如ArrayList<A> alist = new ArrayList<>(); Inalist我有一些元素,如下所示:

[[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具有相同字符串列表的其他元素。例如:
从上面的列表中,我们可以看到第 2 和第 5 个元素具有重复的字符串列表,因此添加它们的值并仅保留其中一个具有该附加值的值并删除其他元素。同样,元素 3rd 和 6th 具有相同的字符串列表(字符串顺序在内部字符串列表中并不重要)。所以对于上面的列表,预期的输出将是:

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

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

谢谢!

4

1 回答 1

0

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

于 2012-06-15T19:19:28.860 回答