У меня Observable<Rates>
и скорость всего лишь простой объект:Как сделать группу и собрать с помощью RxJava и Kotlin?
Rate(val value:String){}
Rates(val rates: List<Rate>)
и я хочу изменить, что Observable<Rates>
в Observable<HashMap<String,Long>
.
так, например, для ставок Rates(arrayOf(Rate("1"),Rate("2"), Rate("3"),Rate("3"), Rate("2"),Rate("2")))
я ожидать результат:
(1 -> 1)
(2 -> 3)
(3 -> 2)
(4 -> 0)
(5 -> 0)
я начинаю создавать что-то вроде этого:
service.getRates()
.flatMap {it-> Observable.from(it.rates) }
.filter { !it.value.isNullOrEmpty() }
.groupBy {it -> it.value}
.collect({ HashMap<String,Long>()}, { b, t -> b.put(t.key, t.count???)}
, но я застрял здесь, и я не знаю, рассчитывать все значения? и я не знаю, как добавить пустые значения (0), если нет 5 из 4. Есть ли способ сделать это с помощью rx?
хорошее решение ТНХ –