zoukankan      html  css  js  c++  java
  • Java8 Stream的使用

    Java8 Stream的使用

    目的: 提高生产力,写出高效率、干净、简洁的代码

    1. forEach

    forEach方法迭代流中的每个数据

    List<String> list = Arrays.asList("a", "b", "c", "d", "e");
    list.stream().forEach(item-> System.out.println(item)); 
    

    2. filter

    filter方法用于通过设置的条件过滤出元素

    List<String> list = Arrays.asList("a", "", "b", "c", "", "d");
    // 过滤掉空的字符串
    list.stream().filter(item -> !item.isEmpty()).forEach(s -> System.out.println(s));
    

    3.map

    map 方法用于映射每个元素到对应的结果

    //需求: 使用 map 输出了元素对应的平方数
    List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
    //获取对应的平方数
    List<Integer> squaresList = numbers.stream()
        .map(i -> i * i).distinct().collect(Collectors.toList());
    System.out.println(squaresList);
    //[9, 4, 49, 25]
    

    4.limit

    limit 方法用于获取指定数量的流

    List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
    // 获取前3条数据
    numbers.stream().limit(3).forEach(item -> System.out.println(item));
    

    5.sorted

    sorted 方法用于对流进行排序

    List<Integer> numbers = Arrays.asList(3, 2, 2,7,5);
    // 排序(正序)
    numbers.stream().sorted().forEach(item -> System.out.println(item));
    
  • 相关阅读:
    jQuery--.wrap()方法
    ECharts学习(4)--仪表盘
    ECharts学习(3)--toolbox(工具栏)
    jQuery之核心API
    STM32片上Flash内存映射、页面大小、寄存器映射
    typedef struct bit0 : 1
    ***WARNING L15: MULTIPLE CALL TO SEGMENT
    C/C++ 打印文件名、行号、函数名的方法
    ISP与IAP的区别
    sprintf函数 %6.2f
  • 原文地址:https://www.cnblogs.com/mumuda/p/15204409.html
Copyright © 2011-2022 走看看