Null в списках в Kotlin
Ссылку на список можно сделать nullable:
List<Int>?. Тогда ?. нужен уже
для size или для доступа по индексу:
val packed: List<Int>? = listOf(1, 2, 3)
val emptyRef: List<Int>? = null
println(packed?.size)
println(emptyRef?.size)
println(packed?.get(0))
Отдельные элементы тоже бывают nullable -
тип List<String?>. В списке могут лежать
и строки, и null:
val mix = listOf<String?>("a", null, "b")
println(mix[0])
println(mix[1])
Функция filterNotNull собирает новый
список без null, когда нужны только
готовые значения:
val tags = listOf<String?>("go", null, "kotlin", null)
val clean = tags.filterNotNull()
println(clean)
Дан список:
val data: List<Int>? = listOf(5, 10, 15)
Выведите первый элемент и размер списка двумя строками.
Дан список:
val names = listOf<String?>("Ann", null, "Bob", null)
Получите список только непустых строк и выведите его в консоль.