List a = new ArrayList();
List b = new ArrayList();
a.add(\"apple\");
a.add(\"orange\");
Because B
is empty. A
contains everything in B
.
Obviously a typo. b.add("orange") is what was meant.
List.ContainsAll will return true if the list contains all of the elements within the target. Because B is empty A contains all the same elements as B.
It's a matter of logic: does A contain all the elements inside B?
This can be seen as for each element in B, does this element belong to A too?
You can understand that the condition is true, since B is empty, there is no element to check: for each element in B, so for no element.
Because b
is empty. Therefore there is nothing in b
that is not in a
.