tx

wangcx

栖迟於一丘,则天下不易其乐
21,186
Java8中 List的去重、过滤、映射、分组、统计、分页 Java8中 List的去重、过滤、映射、分组、统计、分页
List对象集合的简单去重
list = list.stream().distinct().collect(Collectors.toList());
List集合的根据属性(name)去重
list = list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()->new TreeSet<>(Comparator.comparing(Student::getName))), ArrayList::new));
List对象集合的简单过滤(过滤为 null 的对象)
list = list.stream().filter(item -> item.getName() != null).collect(Collectors.toList());
List对象集合中获取其中某一属性(weight)的List集合
List<Double> collect = apples.stream().map(Apple::getWeight).collect(Collectors.toList());
List对象集合转换为逗号连接的字符串
String str = list.stream().map(String::valueOf).collect(Collectors.joining(","));
List对象集合中根据对象(Apple)的某一属性(color)进行分组
Map<String, List<Apple>> applesByColor = apples.stream().collect(Collectors.groupingBy(Apple :: getColor));
List对象集合中求和、最大、最小、平均的统计(mapToDouble())
//和
double sum = apples.stream().mapToDouble(Apple::getWeight).sum(); 
//最大
OptionalDouble max = apples.stream().mapToDouble(Apple::getWeight).max(); 
//最小
OptionalDouble min = apples.stream().mapToDouble(Apple::getWeight).min(); 
//平均值
OptionalDouble average = apples.stream().mapToDouble(Apple::getWeight).average(); 
List对象集合的分页(skip()+limit())
List<User> resultList = list.stream().skip(pageSize * (currentPage - 1)).limit(pageSize).collect(Collectors.toList());
38 条评论
user 编辑评论信息
插入图片

隐私评论
  1. @
    VCNrptJiz 3月11日
    Windows 10 · Chrome 120 · 美国
    此条为悄悄话,仅发布者可见
  2. @
    VCNrptJiz 3月11日
    Windows 10 · Chrome 120 · 美国
    此条为悄悄话,仅发布者可见
  3. @
    VCNrptJiz 3月11日
    Windows 10 · Chrome 120 · 美国
    此条为悄悄话,仅发布者可见
  4. @
    VCNrptJiz 3月11日
    Windows 10 · Chrome 120 · 美国
    此条为悄悄话,仅发布者可见
  5. @
    IpGlYgARkPxW 3月7日
    Windows 10 · Chrome 120 · 哥伦比亚
    此条为悄悄话,仅发布者可见
  6. @
    IpGlYgARkPxW 3月7日
    Windows 10 · Chrome 120 · 哥伦比亚
    此条为悄悄话,仅发布者可见
  7. @
    IpGlYgARkPxW 3月7日
    Windows 10 · Chrome 120 · 哥伦比亚
    此条为悄悄话,仅发布者可见
  8. @
    UfJdVlzAEL 2月29日
    Windows 10 · Chrome 120 · 香港 宽频网络有限公司
    此条为悄悄话,仅发布者可见
  9. @
    UfJdVlzAEL 2月29日
    Windows 10 · Chrome 120 · 香港 宽频网络有限公司
    此条为悄悄话,仅发布者可见
  10. @
    UfJdVlzAEL 2月29日
    Windows 10 · Chrome 120 · 香港 宽频网络有限公司
    此条为悄悄话,仅发布者可见
  11. @
    UfJdVlzAEL 2月29日
    Windows 10 · Chrome 120 · 香港 宽频网络有限公司
    此条为悄悄话,仅发布者可见
  12. @
    jxAunaIDP 2月18日
    Windows 10 · Chrome 120 · 阿尔巴尼亚
    此条为悄悄话,仅发布者可见
  13. @
    jxAunaIDP 2月18日
    Windows 10 · Chrome 120 · 阿尔巴尼亚
    此条为悄悄话,仅发布者可见
  14. @
    jxAunaIDP 2月18日
    Windows 10 · Chrome 120 · 阿尔巴尼亚
    此条为悄悄话,仅发布者可见
  15. @
    jxAunaIDP 2月18日
    Windows 10 · Chrome 120 · 阿尔巴尼亚
    此条为悄悄话,仅发布者可见
  16. @
    ZuBcNzMd 2月10日
    Windows 10 · Chrome 120 · 亚太地区
    此条为悄悄话,仅发布者可见
  17. @
    ZuBcNzMd 2月10日
    Windows 10 · Chrome 120 · 亚太地区
    此条为悄悄话,仅发布者可见
  18. @
    lhgqjt 1月12日
    iPhone · Safari · 北美地区
    此条为悄悄话,仅发布者可见