Size: a a a

2020 April 13

SM

Sergey Morgunov in Kotlin Moscow
Ну вроде список пар в мапу превратить не должно быть проблемой, нет?
источник

AN

Alexander Nozik in Kotlin Moscow
Associate тогда. Или mapOf на лист пар
источник

D

Dee in Kotlin Moscow
Alexander Nozik
Associate тогда. Или mapOf на лист пар
после zip?
источник

D

Dee in Kotlin Moscow
Sergey Morgunov
Ну вроде список пар в мапу превратить не должно быть проблемой, нет?
попробую, вроде не должно =)
источник

I

Ilmir in Kotlin Moscow
toMap же!
источник

SM

Sergey Morgunov in Kotlin Moscow
Dee
после zip?
Ага
источник

AN

Alexander Nozik in Kotlin Moscow
Ilmir
toMap же!
ну там куча всего
источник

AN

Alexander Nozik in Kotlin Moscow
Но вообще когда в мапе ключами работают произвольные побъекты, с большой вероятностью что-то пошло не так
источник

D

Dee in Kotlin Moscow
Alexander Nozik
Но вообще когда в мапе ключами работают произвольные побъекты, с большой вероятностью что-то пошло не так
что в твоем понимании произвольные?
источник

D

Dee in Kotlin Moscow
не вижу ничего плохого использовать в качестве ключа data class
источник

D

Dee in Kotlin Moscow
Был вариант использовать

Map<fieldId, Pair<ClassA, ClassB>> но подумал, что это еще хуже.

А так да, с архитектурой тут налажали.
источник

SM

Sergey Morgunov in Kotlin Moscow
Dee
Был вариант использовать

Map<fieldId, Pair<ClassA, ClassB>> но подумал, что это еще хуже.

А так да, с архитектурой тут налажали.
Ну выглядит то даже и лучше наверное. Есть явное упоминание ключа 🙂
источник

D

Dee in Kotlin Moscow
Почитал, zip не подходит. Он тупо складывает. А мне надо по predicate ( classA.fieldId == classB.fieldId )
источник

D

Dee in Kotlin Moscow
Sergey Morgunov
Ну выглядит то даже и лучше наверное. Есть явное упоминание ключа 🙂
не нравится, что fieldId упоминается 3 раз. В качестве ключа, в качестве значения в ClassA, в качестве значения в ClassB
источник

SM

Sergey Morgunov in Kotlin Moscow
Dee
не нравится, что fieldId упоминается 3 раз. В качестве ключа, в качестве значения в ClassA, в качестве значения в ClassB
Зато есть понимание того, как ClassA и ClassB оказались в одной корзине 🙂
источник

D

Dee in Kotlin Moscow
источник

SM

Sergey Morgunov in Kotlin Moscow
Dee
Почитал, zip не подходит. Он тупо складывает. А мне надо по predicate ( classA.fieldId == classB.fieldId )
Ну тогда попробуй сразу associate с поиском пары по коллекции с ClassB или associateBy с поиском ключа по коллекции с ClassA.
источник

D

Dee in Kotlin Moscow
Спасибо, буду пробовать
источник

MZ

Maxim Zinchenko in Kotlin Moscow
Если производительность/память важна, а эта операция в вашем коде случается часто, то лучше всего сделать своих эффективных extension. Всякие там join, uniqueJoin, leftJoin ... Пишутся они относительно быстро, а написать хуже чем в kotlin runtime вряд ли у вас получится.
источник

RI

Ruslan Ibragimov in Kotlin Moscow
Maxim Zinchenko
Если производительность/память важна, а эта операция в вашем коде случается часто, то лучше всего сделать своих эффективных extension. Всякие там join, uniqueJoin, leftJoin ... Пишутся они относительно быстро, а написать хуже чем в kotlin runtime вряд ли у вас получится.
Нужно тогда подкрепить кодом и продемонстрировать, желательно с jmh и сравнение с sequence на разных входных данных
источник