Что выведет код Junior Коллекции и последовательности обновлено
distinct, sorted и take
Вопрос
Что выведет код? По строке на каждый вывод.
fun main() {
val xs = listOf(5, 3, 5, 1, 3, 9)
println(xs.distinct())
println(xs.sortedDescending().take(2))
println(xs.sum() / xs.size)
println(xs.indexOf(3) to xs.lastIndexOf(3))
println(xs.firstOrNull { it > 100 })
}
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: [5, 3, 1, 9], [9, 5], 4, (1, 4), null. distinct сохраняет первое вхождение каждого элемента в исходном порядке.
Что выведет
[5, 3, 1, 9]
[9, 5]
4
(1, 4)
null
Разбор
distinct сохраняет первое вхождение каждого элемента в исходном порядке. Сортировка по убыванию и take(2) дают два наибольших. Сумма 26 делится на 6 целочисленно, получается 4. to создаёт Pair, у которого toString в скобках. firstOrNull возвращает null вместо исключения.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.