stream API

Stream 作爲 java8 的新特性,基於 lambda 表達式,是對集合對象功能的增強,它專注於對集合對象進行各種高效、便利的聚合操作或者大批量的數據操作,提高了編程效率和代碼可讀性。

Stream 的原理:將要處理的元素看做一種流,流在管道中傳輸,並且可以在管道的節點上處理,包括過濾篩選、去重、排序、聚合等。元素流在管道中經過中間操作的處理,最後由最終操作得到前面處理的結果。

     List<String> skills = Arrays.asList("java", "golang", "c++", "c", "python", "java");


        skills.stream().distinct().forEach(skill-> System.out.println(skill + ","));

        System.out.println("------------");
        skills.stream().distinct().forEach(System.out::println);

        System.out.println("------------");

        skills.stream().distinct().filter(skill -> ! skill.equals("python")).forEach(System.out::println);

        /**
         *  map
         */

        List<Integer> numList = Arrays.asList(1, 2, 3, 4, 5, 5);

        numList.stream().map(num -> num * num).forEach( num -> System.out.println(num + ","));

        Set<Integer> collect = numList.stream().map(num -> num * num).collect(Collectors.toSet());

        collect.forEach(integer -> System.out.println(integer + ","));
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章