Java流-在GroupBy之后获取内部元素
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java流-在GroupBy之后获取内部元素,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1155字,纯文字阅读大概需要2分钟。
内容图文
这个问题已经在这里有了答案: > Java 8 grouping using custom collector? 3个
我将汽车列表分组为有名称的汽车和没有名称的汽车.
cars.stream().collect(Collectors.groupingBy(car -> IdUtil.isEmpty(car.getName().equals(""))));
在此示例中,我将获得Map< Boolean,List< Cars>>
问题:
>我想从每个小组中获得不同的内部成员,这样我就可以
Map<布尔值,List< wheels>使用条件
return ((car.getName().equals(“”))? FrontWheel ? rearWheels;
>我可以控制键值吗?
在这个例子中,使用一个字符串说
“后方”->汽车清单
“前”->汽车清单
谢谢.
解决方法:
对于#1,您可以使用可以链接映射收集器来映射List< Cars>.到其他东西:
Map<Boolean,List<wheels>> map1 =
cars.stream()
.collect(Collectors.groupingBy(car -> IdUtil.isEmpty(car.getName().equals("")),
Collectors.mapping(car -> ((car.getName().equals(""))? car.getFrontWheel() : car.getRearWheels(),Collectors.toList()));
对于#2,将密钥更改为所需键应该没有问题:
Map<String,List<Cars>> map2 =
cars.stream()
.collect(Collectors.groupingBy(car -> IdUtil.isEmpty(car.getName().equals(""))?"Front":"Rear"));
当然,您可以将两者结合起来并获得Map< String,List< wheels>>.
注意:此代码未经测试,因此我可能会有一些错别字.
内容总结
以上是互联网集市为您收集整理的Java流-在GroupBy之后获取内部元素全部内容,希望文章能够帮你解决Java流-在GroupBy之后获取内部元素所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。