如何在Java 8中按另一个元素将List的元素分组

推动力

我有以下问题:鉴于这些课程,

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())));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在HtmlAgilityPack中按类获取另一个元素内的元素

如何按一个元素分组并在 Javascript 中找到另一个元素的平均值?

分组在另一个元素中时如何对齐图像而没有间距

如何将元素的最后一个类复制到jQuery中的另一个元素?

如何将一个表单元素显示在导轨中的另一个元素附近?

如何将div中的一个元素与附近的另一个元素居中?

如何在scss中的另一个psedo元素中嵌套伪元素

如何将一个元素定位到另一个元素的左侧?

如何将一个元素移动到另一个元素?

如何将一个元素放置在另一个元素下面?

如何将一个元素放置在另一个元素的北边

如何让一个元素溢出将另一个元素向下推

如何在python中求和与另一个列表的元素相对应的列表元素

如何在没有id的另一个元素中查找元素

如何在另一个每个特定元素中附加元素

如何在另一个创建的元素中附加元素

如何在另一个元素中插入非自闭合元素?

如何在另一个元素中更改元素

如何在另一个flex元素内的flex元素中修复标头

如何将数组中的特定元素放到另一个数组中

如何将列表中的元素直接放置到另一个列表中?

如何点击一个元素并在另一个元素中添加文本

我如何将列表中的元素分配给 Python 中列表中的另一个元素

如何从另一个列表元素中获取List <myClass>,我得到CastList

如何在d3中将事件从一个元素传递到另一个元素?

如何在单元格数组中的行之间将一个元素与另一个元素连接?

如何在Javascript中检查一个元素是否包含在另一个元素中

如何在JQuery中的另一个元素中调用一个元素的事件

如何将另一个元素作为列表插入到 TreeMap 值中