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

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
Зареєструйся Зараз
або Підпишись на майбутні тести