Java 检查两个arraylist对象是否匹配
如何检查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
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方法:
您到目前为止所尝试的内容??听起来更像一个集合而不是一个列表。请参阅-将两个列表转换为集合,找到集合的名称,并检查其大小是否与原始集合相同。您到目前为止所尝试的内容??听起来更像一个集合而不是列表。请参阅-将两个列表转换为集合,找到集合的大小,并检查它是否与原始集合的大小相同。