Size: a a a

2019 November 01

Н

Никита ✓ in Kotlin Start
Никита🎄🎄
доброго всем дня, вопрос примитивный, но все же:
val fooList = mutableListOf<Foo>()
val x: Int
 get() = fooList.map { it.bar }.sum()
вопрос: x каждый раз же будет разным или ответ будет кешироваться?
каждый раз будет разным
источник

Н

Никита🎄🎄 in Kotlin Start
Никита ✓
каждый раз будет разным
спасибо)
источник

Н

Никита ✓ in Kotlin Start
Никита🎄🎄
доброго всем дня, вопрос примитивный, но все же:
val fooList = mutableListOf<Foo>()
val x: Int
 get() = fooList.map { it.bar }.sum()
вопрос: x каждый раз же будет разным или ответ будет кешироваться?
источник

Н

Никита🎄🎄 in Kotlin Start
Никита ✓
Ребят, а подскажите по такому кейсу, как делать.
Есть MutableMap<String,String>
ключи в этой мапе потипу "value[key][index]'
Так-же есть список строк по типу "value[key]"

Задача состоит в том, что бы убрать все значения из мапы, которые попадают под эту строку.
Т.е. если есть в мапе есть ключи такие ["value[key][1]","val[k][2]","val[k][1]"]
и пришло что надо убрать "val[k]", ключ должен остаться только один: ["value[key][1]"]

И чёт я сижу, туплю, не могу сообразить решение
в мапе у тебя уникальный ключ, потому будет только один ключ k, и его убрать можно .remove(k)
или я не так понял условие
источник

Н

Никита ✓ in Kotlin Start
Никита🎄🎄
в мапе у тебя уникальный ключ, потому будет только один ключ k, и его убрать можно .remove(k)
или я не так понял условие
Я искал как красиво сделать)
источник

AL

Alexander Levin in Kotlin Start
Никита ✓
Ребят, а подскажите по такому кейсу, как делать.
Есть MutableMap<String,String>
ключи в этой мапе потипу "value[key][index]'
Так-же есть список строк по типу "value[key]"

Задача состоит в том, что бы убрать все значения из мапы, которые попадают под эту строку.
Т.е. если есть в мапе есть ключи такие ["value[key][1]","val[k][2]","val[k][1]"]
и пришло что надо убрать "val[k]", ключ должен остаться только один: ["value[key][1]"]

И чёт я сижу, туплю, не могу сообразить решение
Если можно без mutable обойтись и делать копию, то так например:
map.filterKeys { key -> droppedPrefixes.none { key.startsWith(it) } }


Если нужно именно выкинуть, то так например:
mutableMap.keys.removeIf { key -> droppedPrefixes.any { key.startsWith(it) } }
источник

Н

Никита ✓ in Kotlin Start
Так-то да, по мапе пройтись forEach, сделать проверку if (k.startsWith(key)) и в случае true сделать remove(k)
источник

Н

Никита ✓ in Kotlin Start
Alexander Levin
Если можно без mutable обойтись и делать копию, то так например:
map.filterKeys { key -> droppedPrefixes.none { key.startsWith(it) } }


Если нужно именно выкинуть, то так например:
mutableMap.keys.removeIf { key -> droppedPrefixes.any { key.startsWith(it) } }
О, а это интересно, спасибо
источник

Н

Никита ✓ in Kotlin Start
Alexander Levin
Если можно без mutable обойтись и делать копию, то так например:
map.filterKeys { key -> droppedPrefixes.none { key.startsWith(it) } }


Если нужно именно выкинуть, то так например:
mutableMap.keys.removeIf { key -> droppedPrefixes.any { key.startsWith(it) } }
removeIf требует Api24 андроида :с
источник

AL

Alexander Levin in Kotlin Start
Никита ✓
removeIf требует Api24 андроида :с
Ну т.е. можно обойти:
1. Сделать в два шага:
    val droppedKeys = mutableMap.keys.filter { key -> droppedPrefixes.any { key.startsWith(it) } }
   mutableMap.keys.removeAll(droppedKeys)

2. Написать свой removeIf, можно даже прямо на мапу:
inline fun <K, V> MutableMap<K, V>.removeKeysIf(predicate: (K) -> Boolean) {
   val each = keys.iterator()
   while (each.hasNext()) {
       if (predicate(each.next())) {
           each.remove()
       }
   }
}

3. Может есть какое решение специфичное для андроида.
4. Всё ещё есть иммутабельный вариант :)
источник

Н

Никита ✓ in Kotlin Start
мне иммутабельный не подходит, увы)
Но да, обходом сделал
источник

Н

Никита ✓ in Kotlin Start
Спасибо)
источник

DA

Dmitry Alekseyevich in Kotlin Start
подскажите пожалуйста по спиннеру. Список формируется из джейсона через ретрофит. Имя элемента списка я получаю через it.name

как обработать нажатия на элемент списка в спиннере?
источник

AL

Alexander Levin in Kotlin Start
Dmitry Alekseyevich
подскажите пожалуйста по спиннеру. Список формируется из джейсона через ретрофит. Имя элемента списка я получаю через it.name

как обработать нажатия на элемент списка в спиннере?
Пожалуйста:
1. Не кросспости.
2. Не скидывай скриншот, так намного тяжелее выдёргивать полезную инфу
3. Локализовывай примеры, чтобы не читать просто так полотно кода

Ну и предположительно (не могу сходу оценить, тут только андроид специфика или что-то по котлину) лучше оставь только в @kotlin_mobile сообщение
источник

DA

Dmitry Alekseyevich in Kotlin Start
Alexander Levin
Пожалуйста:
1. Не кросспости.
2. Не скидывай скриншот, так намного тяжелее выдёргивать полезную инфу
3. Локализовывай примеры, чтобы не читать просто так полотно кода

Ну и предположительно (не могу сходу оценить, тут только андроид специфика или что-то по котлину) лучше оставь только в @kotlin_mobile сообщение
понял, был сайт, где можно код.. что то с hub связано, не подскажешь?
источник

AL

Alexander Levin in Kotlin Start
Dmitry Alekseyevich
понял, был сайт, где можно код.. что то с hub связано, не подскажешь?
Можно например тут: https://gist.github.com/
источник
2019 November 02

ch

central hardware in Kotlin Start
можно ли завести lombok в котлине?
источник

АП

Артем Пешков in Kotlin Start
lomlob 😅
источник

ch

central hardware in Kotlin Start
что? ответ на выше заданный вопрос нет, если кому интересно
источник

АП

Артем Пешков in Kotlin Start
Шутка) простите)
источник