java8 lanbda表达式对list对象去重,对象属性转成string

2022/1/5 17:08:34

本文主要是介绍java8 lanbda表达式对list对象去重,对象属性转成string,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


需求:对ulist中的mobilTel去重合并成逗号分隔的String,以下三行代码含义
参数类型说明: List<User> ulist,String userinfo
因为部分用户的mobileTel为空,则先去除空的数据
对非空的list进行去重
对特定属性进行逗号分隔
ulist = ulist.stream().filter(c -> c.getMobilTel() != null).collect(Collectors.toList());
ulist = ulist.stream().collect(Collectors.collectingAndThen(
        Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(User::getMobilTel))), ArrayList::new));
userInfo = ulist.stream().map(c -> c.getMobilTel()).collect(Collectors.joining(","));

 头两行代码可以合并

  ulist = ulist.stream().filter(c -> c.getMobilTel() != null).collect(Collectors.collectingAndThen(
                    Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(User::getMobilTel))), ArrayList::new));
  userInfo = ulist.stream().map(c -> c.getMobilTel()).collect(Collectors.joining(","));

  



这篇关于java8 lanbda表达式对list对象去重,对象属性转成string的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程