我有重複元素的列表,說:Rx等同於GROUP BY的COUNT?
Observable<String> source = Observable.just("A", "B", "A", "C", "C", "A");
我想通過他們與他們出現了多少次沿數值組他們,所以輸出會是對的:
{"A", 3}, {"B", 1}, {"C", 2}
基本上是一個SQL語句像SELECT x, COUNT(1) GROUP BY x;
相當於我只拿到了這麼遠,呼籲GROUPBY他們:
source.groupBy(x -> x, x -> 1)
但是,這將流轉換爲GroupedObservables,我無法找到一個很好的示例如何與他們繼續前進。我嘗試了reduce()
,但這裏不好,因爲在groupBy()
之後,它希望減少分組的觀察對象,而不是每個組內的元素。
這是可能與GroupedObservables?有沒有其他方法可以達到預期效果?
你知道嗎,如果你有一個熱點觀測值或沒有一個'OnComplete'信號,你不能做這個計算? – Enigmativity
不,我沒有想到,但似乎可以理解,謝謝。實際上,我列出了整個列表,而不是我的例子中的元素(我簡化了問題的代碼),所以我猜這在這裏不是問題,對吧? –
是的,但如果它是一個冷的可觀測值,它會發出所有的值,您可能不需要Rx。你想要做什麼? – Enigmativity