#java #kotlin #collections #java-8 #stream
#java #kotlin #Коллекции #java-8 #поток
Вопрос:
Например, в Kotlin / java у меня есть список строк. Я отфильтровал список и передал его через функцию сопоставления. В конце я могу собрать его в другой список, а затем использовать этот список везде, где захочу, например, отправить его в другую функцию. Есть ли какой-либо способ отправить список выходных данных в другую функцию без явного его сбора? Фрагмент кода ниже:
val resultantList = stringList.filter { it.startsWith("a") }
.map { it.substringAfter("b") }
anotherFunction(resultantList)
В приведенном выше фрагменте кода я не хочу объявлять resultantList . Вместо этого, в конце map, могу ли я передать результат ‘AnotherFunction` напрямую. Что-то вроде
stringList.filter { it.startsWith("a") }
.map { it.substringAfter("b") }.<something>{anotherFunction(it)}
Ответ №1:
let — это то, что вы ищете. Вам даже не нужно вызывать .let { anotherFunction(it) }
, но вы можете использовать ссылку на функцию .let(::anotherFunction)