Java ArrayList - 我如何判断两个列表是否相等,顺序无关紧要?

标签 java arraylist

我有两个 ArrayList 类型的 Answer(自制类)。

我想比较这两个列表,看看它们是否包含相同的内容,但顺序无关紧要。

例子:

//These should be equal.
ArrayList<String> listA = {"a", "b", "c"}
ArrayList<String> listB = {"b", "c", "a"}

List.equals 声明如果两个列表包含相同的大小、内容和元素顺序,则它们是相等的。我想要同样的东西,但顺序无关紧要。

有没有简单的方法来做到这一点?还是我需要做一个嵌套的 for 循环,并手动检查两个列表的每个索引?

注意:我不能将它们从 ArrayList 更改为另一种类型的列表,它们需要保持不变。

最佳答案

任何列表的最简单方法可能是:

listA.containsAll(listB) && listB.containsAll(listA)

关于Java ArrayList - 我如何判断两个列表是否相等,顺序无关紧要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13501142/

相关文章:

java - 如何在 MockMvc junit 测试中获取 @RestController 的 ResponseBody 作为对象?

java - 在不连接的情况下获取 WiFi 的 SSID?

java - 为什么 arrayList 中存储的每个对象的内容具有相同的值?

java - 尝试检查 arraylist 是否是另一个的子集

Java - war 游戏 - 从数组中获取对象

java - JComboBox 的 ArrayList 导致 JComboBox 相互锁定

java - 以可读格式打开 Java 字节代码并对其进行编辑

java - 如果哈希码等于实现不正确,我的对象创建会失败吗?

java - 在运行 Android 的 JavaFx 中显示节点的延迟

JavaFX observableArrayList 总是被覆盖