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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//遍历列表 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内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部