java - 检查两个 arraylist 对象是否匹配

标签 java

无论元素的顺序及其出现次数如何,我如何检查数组列表的对象是否与另一个对象匹配。假设我有:

obj1   contains    "boy",  "girl",  "kid"
obj2   contains     "girl",   "kid",  "boy", "girl"
obj3   contains     "woman",  "boy",  "girl",   "kid"

所有的数组列表

我希望程序实现这个:

obj1    =     obj2   true
obj1    =     obj3   false
obj2    =     obj3   false

最佳答案

我认为你的意思如下。您想要检查列表中包含的唯一元素是否相同。顺序无关紧要。

要解决此问题,您需要只包含唯一元素且不保留顺序的集合:

List<String> first = ....
List<String> second = ....

boolean result = new HashSet<>(first).equals(new HashSet<>(second));

关于java - 检查两个 arraylist 对象是否匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22174047/

相关文章:

Java Await 语句 - 并发编程

java - java.util.Scanner 类中 nextLong() 方法的一个令人困惑的问题

java - 为什么 DoubleBuffer.put() 分配内存,我应该如何避免这种情况发生?

java - 即使 isAlive() 返回 false 也会抛出异常 IllegalThreadStateException

java - Apache 光束 : Kafka consumer restarted over and over again

java - Android SQLite,onCreate() 未被调用

Junit5 参数化测试尝试时,Java 异常未找到匹配的测试

java - 使用 selenium webdriver 进行自动化但无法单击元素

java - 获取JUNIT中@Before中当前执行的@Test方法名

java - 在带有 alpha channel 的 PNG 上叠加透明颜色