Определите, что делает этот код:
publicstaticvoidmain(String() args) (|
Deque<Integer> queue = new ArrayDeque<>):|
queue.push(1):
queue.push(2):
queue.push(3):
Set<Integer> set = new LinkedHashSet<>(queue); // 1|
System.out.printin(set):
• Ошибка компиляции на строке 1
• Выводит в консоль 1 2 3
• Бросает ошибку при запуске
• Выводит в консоль 321 .
Другие предметы Университет Коллекции в Java Java программирование университет код компиляция ошибки вывод консоль коллекции Deque ArrayDeque LinkedHashSet SET push integer Новый
Давайте разберем данный код по шагам и определим, что он делает, а также найдем возможные ошибки.
public static void main(String[] args)
main
в Java, который является точкой входа в программу.Deque queue = new ArrayDeque<>();
ArrayDeque
, которая может хранить объекты типа Integer
.queue.push(1);
push
добавляет элемент в начало очереди. В данном случае в очередь добавляется число 1.queue.push(2);
queue.push(3);
Set set = new LinkedHashSet<>(queue);
LinkedHashSet
, который принимает в качестве аргумента очередь queue
.LinkedHashSet
порядок добавления сохраняется, и дубликаты не допускаются.set
будут добавлены элементы 3, 2 и 1 в том порядке, в котором они были добавлены в очередь.System.out.println(set);
set
в консоль.LinkedHashSet
сохраняет порядок добавления, вывод будет: [3, 2, 1]
.Теперь, что касается предложенных вариантов ответа:
set
будет 3, 2, 1.LinkedHashSet
.Таким образом, правильный ответ: Выводит в консоль 321.