这里列举的一些常用写法

List<Integer> list = Arrays.asList(1, 3, 10, 15);

1.过滤指定条件信息.filter

List<Integer> data = list
		.strem()
		.filter(s->Objects.equals(s,3))
		.collect(Collectors.toList);
		
//结果
[3]		

2.类型转换.map

List<Long> data = list.stream().map(s -> {
            Long aLong = 100L;
            return aLong;
        }).collect(Collectors.toList());
//结果        
[100, 100, 100, 100]

3.符合一个就为true.anyMatch

boolean data = list.
		stream()
		.anyMatch(s -> Objects.equals(s, 3));
//结果
true

4.全部符合才为true.allMatch

 boolean data = list
 		.stream()
 		.allMatch(s -> Objects.equals(s, 3));
 //结果
false

5.获取第一个元素.findFirst

 Integer date = list
 		.stream()
 		.findFirst()
 		.get();
 //结果
 1

6.list按照指定key,value转map.toMap
创建一个list

//User 中有 id , name,phone
 List<User> list  = Arrays.asList(new User(1,"张一",1001l),new User(2,"张二",1002l),new User(3,"张三", 1003L));
       

例子

Map<Integer, String> collect = list
		.stream()
		.collect(Collectors.toMap(User::getId,User :: getName , (key1, key2) -> key1));
//结果
{1=张一, 2=张二, 3=张三}

7.list按照指定字段分组.groupingBy

Map<Integer, List<User>> collect = list
		.stream()
		.collect(Collectors.groupingBy(User::getId));
//结果
自己运行

版权声明:本文为qq_35364656原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_35364656/article/details/125540190