我是靠谱客的博主 能干小刺猬,最近开发中收集的这篇文章主要介绍java8的lambda表达式对List集合常规处理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

//遍历列表
List<Integer> lists = new ArrayList<>();
lists.forEach(element ->{
  if(element % 2==0){
  }
});

//删除元素
List<String> lists = new ArrayList<>();
lists.removeIf(ele -> ele.getCidRid() == "1");

//排序
lists.sort((o1,o2) -> o1.getRid() - o2.getRid());
lists.sort((o1,o2) -> o1.getRid().compareTo(o2.getRid()));

//过滤
disList.stream().filter((ele) -> ele.getCidRid() == "1");

//去重
List<Integer> lists = new ArrayList<>();
lists.stream().distinct().collect(Collectors.toList());

//是否匹配所有元素,返回值为boolean类型
disList.stream().allMatch(ele -> ele.getCidRid() == "1");

//拼接
List<DiseaseInfo> disList = new ArrayList<>();
String a = disList.stream().map(ele -> ele.getCidRid()).reduce((m,b) -> m +","+b).toString();
String a = list.stream().map(DiseaseInfo :: getCidRid).collect(Collectors.joining(","));

//获取所有的用户ID取出来
List<User> users = new ArrayList<>();
List<String> userIds = users.stream().map(u -> u.getId()).collect(Collectors.toList());

//获取所有的用户ID并且去重
List<User> users = new ArrayList<>();
List<String> userIds = users.stream().map(u -> u.getId()).distinct().collect(Collectors.toList());

//List<User>放到HashMap里,key为用户ID,value为该User
List<User> users = new ArrayList<>();
Map<String, User> userMap = users.stream().collect(Collectors.toMap(User :: getId, u -> u));

//List<User>放到HashMap里,key为用户ID,value为姓名
List<User> users = new ArrayList<>();
Map<String, String> userMap = users.stream().collect(Collectors.toMap(User :: getId, u -> u.getName()));

//List<User>放到HashMap里,key为用户ID,value为该User,并且id去重
List<User> users = new ArrayList<>();
Map<String, User> userMap = users.stream().collect(Collectors.toMap(User :: getId, u -> u, (oldV, newV) -> newV));

//求和
list.stream.mapToInt(User::getAge).sum();

//最大以及对应的对象
list.stream.mapToInt(User::getAge).max();
User obj = list.stream().max(comparator).get();

//最小以及对应的对象
list.stream.mapToInt(User::getAge).min();
User obj = list.stream().min(comparator).get();

//平均
list.stream.mapToInt(User::getAge).average();

//list转map
Map<Integer,list> map = list.stream().collect(Collectors.groupingBy(User::getId));
Map<String,User> map = list.stream().collect(Collectors.toMap(User::getId,u->u));
Map<Integer,String> map = list.stream().collect(Collectors.toMap(User::getId,u->u.getName()));

//字符串转list
List list = Arrays.asList(str.split(",")).map(string -> String.valueOf(string)).collect(Collectors.toList);

//list分片,输出结果[[1,2,3],[4,5,6],[7,8]]
List<Integer> numList = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8);
List<List<Integer>> partList = Lists.partition(numList, 3);

//限制结果集个数
disList.stream().limit(3);

最后

以上就是能干小刺猬为你收集整理的java8的lambda表达式对List集合常规处理的全部内容,希望文章能够帮你解决java8的lambda表达式对List集合常规处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(97)

评论列表共有 0 条评论

立即
投稿
返回
顶部