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

标签 java collections arraylist duplicates iteration

<分区>

我有以下类(class):

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

我有一个类 A 的数组列表,如 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 中删除其他元素。具有相同的字符串列表。例如:
从上面的列表中我们可以看到第 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 不是很好。所以,如果我有任何错误,请原谅我!

谢谢!

最佳答案

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

关于java - 如何遍历对象的 arrayList 并在对象属性中查找重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11056752/

相关文章:

Java - 有类型的类?

java - Javaagent 是我正在寻找的吗?

java - 如何使用字符串作为输入值?

java - Collections.sort没有编译时错误

c# - 我可以在 C# 中固定类型化 ArrayList,就像 C++ 一样吗?

java - 如何使 JavaFX TreeView 和 TreeItem 可序列化?

Java - 使对象集合友好

php - Laravel - 将数组转换为 eloquent 集合

java - 如何在java中将字符串转换/解析为数组列表?

java - 如何使用 arraylist 根据用户定义的排序对类对象进行排序?