zoukankan      html  css  js  c++  java
  • java8中的map 和reduce

    map

    1、使用map让集合里面的数字翻倍。

    List<Integer> numbers = Lists.newArrayList(1,2,3,4,5);
    List<Integer> doubleNumbers = numbers.stream()
    .map(number -> number * 2)
    .collect(Collectors.toList());
    doubleNumbers.stream().forEach(r->System.out.println(r));

    2、使用map可以对集合的数据进行处理然后返回其他类型的集合数据。如果是一个用户类的集合则可以使用这个方法获取用户姓名的列表。

    List<String> collect = doubleNumbers.stream().map(n->”数字:”+n).collect(Collectors.toList());

    reduce

    3 、不提供初始值的reduce,返回值是Optional,表示可能为空,使用orElseGet可以返回一个null时的默认值

    Optional<Integer> sum = numbers.stream().reduce((a, b) -> a + b);
    Integer orElseGet = sum.orElseGet(() -> 0);
    System.out.println(orElseGet);

    结果是15

    4.使用初始值的reduce,因为提供了初始值,所以返回值不再是Optional
    Integer sum = numbers.stream()
    .reduce(0, (a, b) -> a + b);

  • 相关阅读:
    STM32启动BOOT0 BOOT1设置方法
    端口映射
    端口映射
    静态路由配置
    静态路由配置
    NETGEAR路由器登录不上 重新获取ip
    NETGEAR路由器登录不上 重新获取ip
    GSM AT指令 SIM900A TC35
    GSM AT指令 SIM900A TC35
    TTP223 触摸按键
  • 原文地址:https://www.cnblogs.com/wzk1992/p/5735463.html
Copyright © 2011-2022 走看看