RateはObservable<Rates>
単純なオブジェクトです。
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???)}
しかし、私はここで立ち往生していて、すべての値を数えることがわかりませんか? 4 の 5 がない場合、空の値 (0) を追加する方法がわかりません。rx を使用してこれを行う方法はありますか?