首页 > 解决方案 > 将物品收集到 Guava Multimap

问题描述

我正在尝试将项目收集到最终的 Guava Multimap。我注意到Flowable有一个.toMultimap,但我不知道如何使用它来返回我需要的东西。

这是一个片段

Single<Map<String, Collection<String>>> map = getActiveUsers().toFlowable() //
        .flatMapIterable(users -> users) //
        .map(User::getFullName) //
        .distinct() //
        .toMultimap(FullName::first, FullName::second);

如何更改此代码以返回 GuavaMultimap<String,String>而不是Map<String,Collection<String>>

标签: javarx-javarx-java2guava

解决方案


使用collect

source.collect(
    HashMultimap::create, 
    (mmap, item) -> mmap.put(item.first, item.second)
)

推荐阅读