包含所有列表 Java

15
     List<String> a = new ArrayList<String>();
     List<String> b = new ArrayList<String>();

     a.add("apple");
     a.add("orange");

     System.out.println(a.containsAll(b));
上面的程序输出了True。不理解为什么会输出True?
5个回答

28

因为 B 是空的。 A 包含了B中的所有内容。


8
因为b是空的,所以b中没有任何a中没有的内容。

6

这是一个逻辑问题:A是否包含B内的所有元素?

可以理解为对于B中的每个元素,它是否也属于A?

当B为空时,条件为真,因为没有元素需要检查:对于B中的每个元素,所以没有元素。


2

List.ContainsAll会在列表中包含目标元素时返回true。因为B是空的,所以A包含与B相同的所有元素。


0
显然是一个打字错误。应该是 b.add("orange")。

只是一次猜测,绝不是理由。 - ratijas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接