java – 从列表创建映射,其中key是内部和外部对象的一部分
发布时间:2020-12-15 04:40:42 所属栏目:Java 来源:网络整理
导读:是否有可能(以简单的方式)将其更改为 java8 Stream? (请不要评论/回答,如果你想告诉我两个更好,而不是所有循环都应该改为流,这不是一个点) final MapString,String map = new HashMap();for(final Person person: list) { for(final Internal internal: per
是否有可能(以简单的方式)将其更改为
java8 Stream? (请不要评论/回答,如果你想告诉我两个更好,而不是所有循环都应该改为流,这不是一个点)
final Map<String,String> map = new HashMap<>(); for(final Person person: list) { for(final Internal internal: person.getInternals()) { final String key = person.getName() + internal.getKey(); map.put(key,internal.getValue()); } } 主要问题是我不能使用flatMap,因为我将丢失以前的信息.每个创建的密钥都是唯一的 解决方法
那么你可以通过一对来传递它们(虽然我没有编译,但这个想法应该在那里)
list.stream() .flatMap(person -> person.getInternals() .stream() .map(internal -> Pair.of(person.getName() + internal.getKey(),internal.getValue())) .collect(Collectors.toMap(Pair::getLeft,Pair::getRight)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |