Содержит список всех 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));

Вышеупомянутая программа печатает True. Не понимаю, почему он печатает True?

Ответ 1

Потому что B пуст. A содержит все в B.

Ответ 2

Потому что b пуст. Поэтому в b нет ничего, что не в a.

Ответ 3

Это вопрос логики: содержит ли А все элементы внутри B?

Это можно видеть как для каждого элемента в B, этот элемент также принадлежит A?

Вы можете понять, что условие истинно, так как B пуст, нет элемента для проверки: для каждого элемента в B, поэтому без элемента.

Ответ 4

List.ContainsAll вернет true, если список содержит все элементы в целевом объекте. Поскольку B пуст, A содержит все те же элементы, что и B.

Ответ 5

Очевидно, опечатка. b.add( "оранжевый" ) - это то, что подразумевалось.