// 작동은 한다.
fun List<Student>.getNames(): List<String> =
this.map { it.name }
.filter { it != null }
.map { it!! }
// 더 좋다.
fun List<Student>.getNames(): List<String> =
this.map { it.name }
.filterNotNull()
fun List<Student>.getNames(): List<String> =
this.mapNotNull { it.name }
filterNotNull()
mapNotNull { }
joinToString { }
filter { predicate1 && predicate2 }
filterIsInstance<Type>()
sortedWith(compareBy({ key1}, {key2}))
listOfNotNull(..)
filterIndexed { index, elem → predicate }