java8 一个list对象,按照对象里一个字段属性不同范围进行分组,用java8 stream一条语句如何实现?

java8 一个list对象,按照对象里一个字段属性不同范围进行分组,用java8 stream一条语句如何实现?

问题描述:

比如:有个人对象,按照年龄范围进行分组,如何用一条java8 stream实现?

传统分组会写不?类似这种:

Map< Integer, List> listMap = summary.stream().collect(Collectors.groupingBy(e -> e.getCustomerType()));
按你说的范围。在实体类中写一个分组方法。不同范围返回不同值。然后代替 e.getCustomerType()就好