java stream 学习

1、forEach 是一个终端操作
              
 Arrays.stream(arrayOfEmps).forEach(v -> v.setPoint(10));
 Arrays.stream(arrayOfEmps).forEach(v->  System.out.println(v.getName()));
2、collect 是说将处理完的数据按照某种方式收集起来,也就是某种容器将数据按照特定的格式存储起来

作用于原来的流,产生一个新的流,新的流的元素类型可以与原来的元素类型不同
说白了就是用一个方法,每个元素作为这个方法的入参,得到新的元素,替换原来那个元素
       System.out.println("map *****");
               List<String> collect = Stream.of(arrayOfEmps).map(Employee::getName).collect(Collectors.toList());
       collect.forEach(System.out::print);

 
   List<Employee> collect = Arrays.stream(arrayOfEmps).collect(Collectors.toList());
       collect.forEach( v -> System.out.println(v.getName()));

  3、filter 只把满足表达式的元素留下来
   
List<Employee> collect = Arrays.stream(arrayOfEmps).filter(v -> v.getPoint() > 200000.0).collect(Collectors.toList());
       collect.forEach(v -> System.out.println(v.getName()));
   4、findFirst  找到满足条件按的第一个元素
       1、findFirst 没有参数,需要在filter后调用,也就是在结果中找到第一个
       2、用orElse,当找不到的时候返回一个默认值
 
  Employee employee = Arrays.stream(arrayOfEmps).filter(v -> v.getPoint() > 100000.0).findFirst().orElse(null);
       System.out.println(employee);

  4、toArray, 将结果手机城一个数组,需要注意参数,是数组类型new的方法引用
 
  Employee[] employees = Arrays.stream(arrayOfEmps).filter(v -> v.getPoint() > 100000.0).toArray(Employee[]::new);
       for (int i = 0; i < employees.length; i++) {
       System.out.println(employees[i].getPoint());
       }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值