Определите, что делает этот код:
publicstaticvoidmain(Stringl) args) (|
Set<Double> set = new TreeSet<>):
set.add(21.5):
set.add(14.2):
set.add(8d): // 1|
set.add(8.0):
System.out.printin(set):
• Код выбрасывает ошибку при запуске
• Выводит в консоль 8 8.0 14.2 21.5
• Код не скомпилируется на строке 1
• Выводит в консоль 8.0 14.2 21.5
Другие предметы Университет Коллекции в Java Java программирование университет код TreeSet ошибка консольный вывод компиляция коллекции Java методы Java Новый
Давайте разберем данный код на языке Java и выясним, что он делает, а также, какие возможные результаты его выполнения.
Вот исправленный вариант кода, чтобы он стал компилируемым:
public static void main(String[] args) { Setset = new TreeSet<>(); set.add(21.5); set.add(14.2); set.add(8d); // 1 set.add(8.0); System.out.println(set); }
Теперь давайте проанализируем, что происходит в этом коде:
Первая строка внутри метода main
создает объект TreeSet
, который будет хранить значения типа Double
. TreeSet
- это структура данных, которая хранит элементы в отсортированном порядке и не допускает дубликатов.
Следующие строки добавляют элементы в множество:
set.add(21.5);
- добавляет число 21.5.set.add(14.2);
- добавляет число 14.2.set.add(8d);
- добавляет число 8 (в виде double
).set.add(8.0);
- добавляет число 8.0 (также в виде double
).Обратите внимание, что TreeSet
не допускает дубликатов. Таким образом, добавление 8 и 8.0 не приведет к увеличению количества элементов в множестве, так как они считаются одинаковыми.
Последняя строка System.out.println(set);
выводит содержимое множества. Поскольку TreeSet
сортирует элементы, они будут выведены в порядке возрастания.
Теперь давайте определим, что же будет выведено на консоль:
В результате выполнения кода, множество будет содержать следующие уникальные значения:
Таким образом, вывод на консоль будет:
[8.0, 14.2, 21.5]
Теперь мы можем ответить на предложенные варианты:
Таким образом, правильный ответ - выводит в консоль 8.0 14.2 21.5.