Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查两个arraylist对象是否匹配_Java - Fatal编程技术网

Java 检查两个arraylist对象是否匹配

Java 检查两个arraylist对象是否匹配,java,Java,如何检查arraylist的一个对象是否与另一个对象匹配,而不管元素的顺序及其出现次数如何。假设我有: obj1 contains "boy", "girl", "kid" obj2 contains "girl", "kid", "boy", "girl" obj3 contains "woman", "boy", "girl", "kid" 所有arraylist 我希望该计划实现以下目标: obj1 = obj2 tr

如何检查arraylist的一个对象是否与另一个对象匹配,而不管元素的顺序及其出现次数如何。假设我有:

obj1   contains    "boy",  "girl",  "kid"
obj2   contains     "girl",   "kid",  "boy", "girl"
obj3   contains     "woman",  "boy",  "girl",   "kid"
所有arraylist

我希望该计划实现以下目标:

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

为了让您开始学习,请阅读有关List.contains方法的内容。在带有布尔标志的嵌套循环中使用它,以指示一个列表项是否满足。等于其他列表中的任何项


您还需要决定比较是否应该是双向的。您可能会遇到这样一种情况:obj1的所有项目都存在于obj2中,但obj2的所有项目都不存在于obj1中。换句话说,obj2是obj1的超集

为了入门,请阅读有关List.contains方法的内容。在带有布尔标志的嵌套循环中使用它,以指示一个列表项是否满足。等于其他列表中的任何项


您还需要决定比较是否应该是双向的。您可能会遇到这样一种情况:obj1的所有项目都存在于obj2中,但obj2的所有项目都不存在于obj1中。换句话说,obj2是obj1的超集

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

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

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

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

我想你是指以下几点。您希望检查列表中包含的唯一元素是否相同。顺序无关紧要

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

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

boolean result = new HashSet<>(first).equals(new HashSet<>(second));
您应该使用containsAll方法:

您应该使用containsAll方法:


您到目前为止所尝试的内容??听起来更像一个集合而不是一个列表。请参阅-将两个列表转换为集合,找到集合的名称,并检查其大小是否与原始集合相同。您到目前为止所尝试的内容??听起来更像一个集合而不是列表。请参阅-将两个列表转换为集合,找到集合的大小,并检查它是否与原始集合的大小相同。