Size: a a a

Kotlin Community

2019 November 02

VP

Vladimir Petrakovich in Kotlin Community
Quantum Harmonizer
Почему что? Не хотят все коллекции втягивать?
Чтобы не пришлось потом всё-всё реализовывать, что можно было сделать отдельными библиотеками.
Почему EnumSet не Set
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Levin
Потому что не очень оптимально выходит?
ArrayDeque же есть.
А почему не очень оптимально?
А, точно, это ArrayBlockingQueue тупонький, ArrayDeque норм.
источник

QH

Quantum Harmonizer in Kotlin Community
Vladimir Petrakovich
Почему EnumSet не Set
🤷‍♂️ потому что не прописан магией в компилятор
источник

AL

Alexander Levin in Kotlin Community
Quantum Harmonizer
А почему не очень оптимально?
А, точно, это ArrayBlockingQueue тупонький, ArrayDeque норм.
Вставка/удаление в начало. Немного тупо получить операции из деки не за константу.
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Levin
Вставка/удаление в начало. Немного тупо получить операции из деки не за константу.
ну то есть да, наоборот, ArrayDeque мог бы implements List.
источник

VP

Vladimir Petrakovich in Kotlin Community
Quantum Harmonizer
🤷‍♂️ потому что не прописан магией в компилятор
А что там за магия, его же можно и самому написать? 🤔
источник

QH

Quantum Harmonizer in Kotlin Community
Vladimir Petrakovich
А что там за магия, его же можно и самому написать? 🤔
Можно, в исходниках EnumSet или в исключениях компилятора 🤷‍♂️
источник

VP

Vladimir Petrakovich in Kotlin Community
Quantum Harmonizer
Можно, в исходниках EnumSet или в исключениях компилятора 🤷‍♂️
Можно ссылочку?
источник

QH

Quantum Harmonizer in Kotlin Community
Vladimir Petrakovich
Можно ссылочку?
источник

AL

Alexander Levin in Kotlin Community
Quantum Harmonizer
ну то есть да, наоборот, ArrayDeque мог бы implements List.
Ну, т.е. технически это вроде возможно, но есть шанс, что оптимизашки тогда подкапотные не будут работать. Ну и в целом, не уверен, что встречал юзкейс, что одной структурой нужно и то, и то, да всё пооптимальнее.
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Levin
Ну, т.е. технически это вроде возможно, но есть шанс, что оптимизашки тогда подкапотные не будут работать. Ну и в целом, не уверен, что встречал юзкейс, что одной структурой нужно и то, и то, да всё пооптимальнее.
Ну да, просто это возможно — реализовать оба интерфейса в одном классе)
источник

VP

Vladimir Petrakovich in Kotlin Community
Я тут не вижу упоминаний EnumSet, если честно
источник

QH

Quantum Harmonizer in Kotlin Community
Vladimir Petrakovich
Я тут не вижу упоминаний EnumSet, если честно
там EnumMap, она настолько же немагическая
источник

VP

Vladimir Petrakovich in Kotlin Community
Quantum Harmonizer
там EnumMap, она настолько же немагическая
В той задаче я вижу странный код, который в случае с EnumMap работает по неизвестным причинам. Магия в этом?
источник

QH

Quantum Harmonizer in Kotlin Community
Vladimir Petrakovich
В той задаче я вижу странный код, который в случае с EnumMap работает по неизвестным причинам. Магия в этом?
Работает по тем простым причинам, что там платформенные типы.
источник

VP

Vladimir Petrakovich in Kotlin Community
Quantum Harmonizer
Работает по тем простым причинам, что там платформенные типы.
Тогда какие претензии конкретно к EnumMap/EnumSet? 🤷‍♂️
источник

QH

Quantum Harmonizer in Kotlin Community
Vladimir Petrakovich
Тогда какие претензии конкретно к EnumMap/EnumSet? 🤷‍♂️
> тот же EnumSet с точки зрения котлина не @PurelyImplements Set.

никаких претензий, просто привожу пример коллекции, на существование которой котлин не спешит закладываться
источник

VP

Vladimir Petrakovich in Kotlin Community
Quantum Harmonizer
> тот же EnumSet с точки зрения котлина не @PurelyImplements Set.

никаких претензий, просто привожу пример коллекции, на существование которой котлин не спешит закладываться
Это фигня по сравнению с тем, что в джаве Collection.contains() принимает Object, а в котлине - T
источник

AN

Alexander Nozik in Kotlin Community
Сергей Греков
Кто нибудь использует deque в mpp проектах?
источник

VM

Vadim Morozov in Kotlin Community
Привет всем
я добавляю в ArrayList свои target
val target = targetSnapshot.getValue(Target::class.java)
target?.let { targetList.add(it) }


но как мне добавить их отфильтрованными по полю из модели Target, пробовал таким образом?
target?.let { targetList.filter { it.priority == 1 } }
источник