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

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 располагает элементы в порядке их добавления в коллекцию.

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Keep exploring
Java quizzes
Cosmo
Sign Up Now
or Subscribe for future quizzes