<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 325,  comments - 25,  trackbacks - 0
    *
     * 一、Stream API 的操作步驟:
     *
     * 1. 創建 Stream
     *
     * 2. 中間操作
     *
     * 3. 終止操作(終端操作)
     */
    public class TestStreamaAPI {
     
     //1. 創建 Stream
     @Test
     public void test1(){
      //1. Collection 提供了兩個方法  stream() 與 parallelStream()
      List<String> list = new ArrayList<>();
      Stream<String> stream = list.stream(); //獲取一個順序流
      Stream<String> parallelStream = list.parallelStream(); //獲取一個并行流
      
      //2. 通過 Arrays 中的 stream() 獲取一個數組流
      Integer[] nums = new Integer[10];
      Stream<Integer> stream1 = Arrays.stream(nums);
      
      //3. 通過 Stream 類中靜態方法 of()
      Stream<Integer> stream2 = Stream.of(1,2,3,4,5,6);
      
      //4. 創建無限流
      //迭代
      Stream<Integer> stream3 = Stream.iterate(0, (x) -> x + 2).limit(10);
      stream3.forEach(System.out::println);
      
      //生成
      Stream<Double> stream4 = Stream.generate(Math::random).limit(2);
      stream4.forEach(System.out::println);
      
     }
     
     //2. 中間操作
     List<Employee> emps = Arrays.asList(
       new Employee(102, "李四", 59, 6666.66),
       new Employee(101, "張三", 18, 9999.99),
       new Employee(103, "王五", 28, 3333.33),
       new Employee(104, "趙六", 8, 7777.77),
       new Employee(104, "趙六", 8, 7777.77),
       new Employee(104, "趙六", 8, 7777.77),
       new Employee(105, "田七", 38, 5555.55)
     );
     
     /*
       篩選與切片
      filter——接收 Lambda , 從流中排除某些元素。
      limit——截斷流,使其元素不超過給定數量。
      skip(n) —— 跳過元素,返回一個扔掉了前 n 個元素的流。若流中元素不足 n 個,則返回一個空流。與 limit(n) 互補
      distinct——篩選,通過流所生成元素的 hashCode() 和 equals() 去除重復元素
      */
     
     //內部迭代:迭代操作 Stream API 內部完成
     @Test
     public void test2(){
      //所有的中間操作不會做任何的處理
      Stream<Employee> stream = emps.stream()
       .filter((e) -> {
        System.out.println("測試中間操作");
        return e.getAge() <= 35;
       });
      
      //只有當做終止操作時,所有的中間操作會一次性的全部執行,稱為“惰性求值”
      stream.forEach(System.out::println);
     }
     
     //外部迭代
     @Test
     public void test3(){
      Iterator<Employee> it = emps.iterator();
      
      while(it.hasNext()){
       System.out.println(it.next());
      }
     }
     
     @Test
     public void test4(){
      emps.stream()
       .filter((e) -> {
        System.out.println("短路!"); // &&  ||
        return e.getSalary() >= 5000;
       }).limit(3)
       .forEach(System.out::println);
     }
     
     @Test
     public void test5(){
      emps.parallelStream()
       .filter((e) -> e.getSalary() >= 5000)
       .skip(2)
       .forEach(System.out::println);
     }
     
     @Test
     public void test6(){
      emps.stream()
       .distinct()
       .forEach(System.out::println);
     }
    posted on 2018-03-06 08:36 長春語林科技 閱讀(130) 評論(0)  編輯  收藏 所屬分類: java8
    <2018年3月>
    25262728123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

     

    長春語林科技歡迎您!

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲欧洲日产国码一级毛片| 亚洲AV无码久久精品狠狠爱浪潮| 美女黄频a美女大全免费皮| 亚洲综合区小说区激情区| 久久久久久一品道精品免费看| 亚洲偷自精品三十六区| 亚洲av无码乱码在线观看野外| 久久成人a毛片免费观看网站| 最新亚洲春色Av无码专区| 亚洲国产另类久久久精品小说| av大片在线无码免费| jizz免费在线观看| 亚洲1234区乱码| 亚洲日韩精品射精日| 毛片网站免费在线观看| 91精品成人免费国产| 亚洲综合久久精品无码色欲 | 内射无码专区久久亚洲| 57pao国产成视频免费播放| 一区免费在线观看| 久久大香伊焦在人线免费| 国产成人精品久久亚洲高清不卡| 亚洲AV综合色区无码另类小说| 日韩视频免费一区二区三区| 91香蕉国产线观看免费全集| 曰批免费视频播放在线看片二| 亚洲精品成人久久| 国产亚洲精品一品区99热| 四虎永久成人免费影院域名| 美女被免费喷白浆视频| 国产免费一区二区三区在线观看| 国产av无码专区亚洲av毛片搜 | 久久精品国产亚洲av高清漫画| xvideos亚洲永久网址| 无码中文字幕av免费放| 久久久久久一品道精品免费看| 国产成人无码免费看片软件| 亚洲AV无码一区二区三区牲色 | 亚洲最新中文字幕| 亚洲AV无码久久寂寞少妇| 在线亚洲午夜理论AV大片|