Q:

ContainsAll List Java

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

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

     System.out.println(a.containsAll(b));

The above program prints a True.  Dont understand why is it printing True? 

A:

Because B is empty.  A contains everything in B.

A:

Because b is empty.   Therefore there is nothing in b that is not in a.

A:

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.