这里列举的一些常用写法
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 版权协议,转载请附上原文出处链接和本声明。