Есть метод и кусок кода, который его использует:

public static void test(Collection<Integer> c) {
   c.add(3);
   c.add(2);
   c.add(1);
   c.add(2);
   c.remove(3);
   System.out.println(c);
}
...
   test(new ArrayList<Integer>());
   test(new LinkedHashSet<Integer>());
   test(new TreeSet<Integer>());
Напишите, что будет напечатано на экран в результате выполнения данного куска кода
Explanation
Комментарий. В ArrayList и в LinkedHashSet сохраняются элементы в порядке их добавления. При этом удаление элемента (remove(3)) происходит по значению, т.к. вызывается метод Collection.remove(Object o) интерфейса Collection. Поэтому будет удален первый попавшийся элемент, эквивалентный Integer(3). Любые реализации Set обеспечиваются неповторяемость элементов. Поэтому последний вызов c.add(2) возвратит false для LinkedHashSet и TreeSet, т.е. элемент не добавится. TreeSet построено на сбалансир. дереве, поэтому располагает элементы по возрастанию, LinkedHashSet располагает элементы в порядке их добавления в коллекцию.

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты