Size: a a a

Kotlin Community

2020 May 16

QH

Quantum Harmonizer in Kotlin Community
Bogdan Panchenko
итератор мог бы это заменить, но поскольку итератор был в джаве решили не разрывать мозг
что? а почему тогда к листу кучу экстеншенов сделали?
источник

IO

Iaroslav Orlov in Kotlin Community
Quantum Harmonizer
.sequence().map{}.toList() — хороший, .iterator().map{}.toList() — был бы плохой?
к тому же там много промежуточных структур влеплено
источник

BP

Bogdan Panchenko in Kotlin Community
Quantum Harmonizer
что? а почему тогда к листу кучу экстеншенов сделали?
а как ты сделаешь ленивые операции на на экстеншенах ?
источник

AN

Alexander Nozik in Kotlin Community
Bogdan Panchenko
итератор мог бы это заменить, но поскольку итератор был в джаве решили не разрывать мозг
Я думаю, что это просто дизайн решение. Вполне себе нормальное. Кроме Михаила недовольных не знаю. У использования итератора тоже куча минусов, так что кому что.
источник

QH

Quantum Harmonizer in Kotlin Community
Bogdan Panchenko
а как ты сделаешь ленивые операции на на экстеншенах ?
Вообще не понял постановку проблемы.
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Orlov
к тому же там много промежуточных структур влеплено
здесь нет. Одна структура
источник

BP

Bogdan Panchenko in Kotlin Community
Quantum Harmonizer
Вообще не понял постановку проблемы.
filter.map.fiter
источник

IO

Iaroslav Orlov in Kotlin Community
ну, в более сложных преобразованиях
источник

IO

Iaroslav Orlov in Kotlin Community
Alexander Nozik
здесь нет. Одна структура
^
источник

QH

Quantum Harmonizer in Kotlin Community
Bogdan Panchenko
filter.map.fiter
посмотри, как сиквенсы устроены
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Orlov
ну, в более сложных преобразованиях
В Sequence нет промежуточных структур. В этом смыл. Разве что в каких-то ринг-буфферах накопители.
источник

BP

Bogdan Panchenko in Kotlin Community
Quantum Harmonizer
посмотри, как сиквенсы устроены
я ведел, они оборачивают друг друга
источник

QH

Quantum Harmonizer in Kotlin Community
Bogdan Panchenko
я ведел, они оборачивают друг друга
А на вызов iterator() они оборачивают итераторы. Сиквенс — это фабрика обёрнутых итераторов :)
источник

QH

Quantum Harmonizer in Kotlin Community
убираешь сиквенс — ничего не теряешь
источник

AN

Alexander Nozik in Kotlin Community
Quantum Harmonizer
убираешь сиквенс — ничего не теряешь
кроме multi-fire
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
кроме multi-fire
Так нет его! Каждый второй сиквенс делает constrainOnce().
Про итератор хотя бы понятно, что он одноразовый, а тут лотерея.
источник

BP

Bogdan Panchenko in Kotlin Community
Quantum Harmonizer
Так нет его! Каждый второй сиквенс делает constrainOnce().
Про итератор хотя бы понятно, что он одноразовый, а тут лотерея.
а мне как раз нужна многоразовость
источник

QH

Quantum Harmonizer in Kotlin Community
Bogdan Panchenko
а мне как раз нужна многоразовость
отлично, возьми ArrayList
источник

BP

Bogdan Panchenko in Kotlin Community
Quantum Harmonizer
что? а почему тогда к листу кучу экстеншенов сделали?
не нашол видашку где слышал про это, найду скину
источник

QH

Quantum Harmonizer in Kotlin Community
Bogdan Panchenko
не нашол видашку где слышал про это, найду скину
Я думаю, всё проще: Sequence — это копия Stream.
источник