Что выведет код Middle Коллекции изнутри обновлено
Что выведет: TreeSet с компаратором по длине
Вопрос
Что выведет программа (Java 21)? Каждый вывод println с новой строки.
import java.util.*;
public class Main {
public static void main(String[] args) {
Set<String> set = new TreeSet<>(Comparator.comparing(String::length));
set.add("pear");
set.add("fig");
set.add("plum");
set.add("banana");
System.out.println(set);
System.out.println(set.contains("kiwi"));
TreeMap<Integer, String> map = new TreeMap<>(Map.of(10, "a", 20, "b", 30, "c"));
System.out.println(map.floorKey(25) + " " + map.ceilingKey(25) + " " + map.headMap(20));
}
}
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: [fig, pear, banana], true, 20 30 {10=a}. TreeSet сравнивает элементы компаратором: plum той же длины, что и pear, считается дубликатом и не добавляется.
Что выведет
[fig, pear, banana]
true
20 30 {10=a}
Разбор
TreeSet сравнивает элементы компаратором: plum той же длины, что и pear, считается дубликатом и не добавляется. По той же причине contains("kiwi") true: найден элемент длины 4. floorKey(25) ближайший ключ не больше 25, ceilingKey(25) не меньше. headMap(20) ключи строго меньше 20.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.