У меня есть Observable<String>
. Я хотел бы превратить это в Map<String, Int>
, который сообщает мне количество вхождений для каждой отдельной строки.ReactiveX: рассчитать частоту отдельных элементов в наблюдаемом
Наблюдаемый содержит ~ 1 миллиард элементов, из которых 1000 различны (поэтому сохранение всего набора данных в ОЗУ не является вариантом). В настоящее время я перебираю по Observable
и обновляю HashMap
. Я также должен следить за тем же потоком, чтобы избежать условий гонки. Тем не менее, получить частоту элемента следует по своей сути легко распараллелить, поэтому было бы неплохо воспользоваться этим.
Есть ли способ сделать это?
Поскольку источник данных является последовательным и операция обновления O (1), я не уверен, что вы выиграете, пройдя параллельно. – akarnokd
@akarnokd Источник данных рассчитан на несколько потоков и с моим текущим методом, который я должен синхронизировать, что замедляет работу. –