Java 返回从内部嵌套循环收集的结果

Java 返回从内部嵌套循环收集的结果,java,java-8,java-stream,Java,Java 8,Java Stream,我试图使用Java8 streams在2个列表上迭代,并在内部循环中累积结果,最终返回Multimap 以下是一个片段: private Multimap<String, String> processUsers(List<Organization> organizations, List<User> users) { return organizations.stream() // .map(organization-> use

我试图使用Java8 streams在2个列表上迭代,并在内部循环中累积结果,最终返回
Multimap

以下是一个片段:

private Multimap<String, String> processUsers(List<Organization> organizations, List<User> users) {
    return organizations.stream() //
        .map(organization-> users.stream()
            .filter(user -> organization.exist(user))
            .collect(MultimapCollector.toMultimap(User::role, User::id))
        );
}
private Multimap processUsers(列表组织、列表用户){
returnorganizations.stream()//
.map(组织->用户.stream()
.filter(用户->组织.exist(用户))
.collect(MultimapCollector.toMultimap(用户::角色,用户::id))
);
}
这不会生成,因为它返回

如何修复此方法以从该方法收集和返回MultiMap。

首先通过用户而不是组织进行流式传输:

return users.stream()
    .filter(user -> organizations.stream().anyMatch(org -> org.exist(user)))
    .collect(MultimapCollector.toMultimap(User::role, User::id));

你现在面临的问题是什么?我看不出有什么问题,只是一个关于你要做什么的一般性陈述。你的方法引用语法看起来是错误的<代码>用户::可能应该是
用户::
用户.streams().filter(用户->组织.exist(用户)).collect(toMap(用户::角色,用户::id))你所有的评论都很公平,这只是我为了解决问题而修改的代码片段。更新的问题更准确。