需求:對ulist中的mobilTel去重合並成逗號分隔的String,以下三行代碼含義
參數類型說明: List<User> ulist,String userinfo
1 因為部分用戶的mobileTel為空,則先去除空的數據
2 對非空的list進行去重
3 對特定屬性進行逗號分隔
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(","));