作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有以下问题:给定这些类,
class Person {
private String zip;
...
public String getZip(){
return zip;
}
}
class Region {
private List<String> zipCodes;
...
public List<String> getZipCodes() {
return zipCodes;
}
}
使用 Java 8 Stream API,如何获取 Map<Person, List<Region>>
基于是否Region
包含 Person
的邮政编码?换句话说,我如何根据邮政编码属于这些地区的人对地区进行分组?
我已在 Java 7 中以老式方式完成此操作,但现在我必须迁移代码以利用 Java 8 中的新功能。
谢谢,
动力
最佳答案
我怀疑最简洁的方法是——我对发布的其他答案不太满意——是
persons.stream().collect(Collectors.toMap(
person -> person,
person -> regions.stream()
.filter(region -> region.getZipCodes().contains(person.getZip()))
.collect(Collectors.toList())));
关于java - 如何在 Java 8 中按另一个列表的元素对列表的元素进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30245142/
我是一名优秀的程序员,十分优秀!