编程语言
首页 > 编程语言> > Java核心编程总结(七、Stream流),渣本毕业两年经验

Java核心编程总结(七、Stream流),渣本毕业两年经验

作者:互联网

集合获取流的API:


public class StreamDemo01 {

    public static void main(String[] args) {

        /** --------------------Collection集合获取流-------------------------------   */

        // Collection集合如何获取Stream流。

        Collection<String> c = new ArrayList<>();

        Stream<String> ss = c.stream();



        /** --------------------Map集合获取流-------------------------------   */

        Map<String, Integer> map = new HashMap<>();

        // 先获取键的Stream流。

        Stream<String> keyss = map.keySet().stream();

        // 在获取值的Stream流

        Stream<Integer> valuess = map.values().stream();

        // 获取键值对的Stream流(key=value: Map.Entry<String,Integer>)

        Stream<Map.Entry<String,Integer>> keyAndValues = map.entrySet().stream();



        /** ---------------------数组获取流------------------------------   */

        // 数组也有Stream流。

        String[] arrs = new String[]{"Java", "JavaEE" ,"Spring Boot"};

        Stream<String> arrsSS1 = Arrays.stream(arrs);

        Stream<String> arrsSS2 = Stream.of(arrs);



    }

}



1.3Stream流API


| forEach | count | filter | limit | skip | map | concat |

| — | — | — | — | — | — | — |

| 逐一处理(遍历) | 统计个数 | 过滤元素 | 取前几个元素 | 跳过前几个 | 加工方法 | 合并流 |


public class StreamDemo01 {

    public static void main(String[] args) {

        List<String> list = new ArrayList<>();

        list.add("张无忌");

        list.add("周芷若");

        list.add("赵敏");

        list.add("张强");

        list.add("张三丰");

        list.add("张三丰");

        // 遍历出长度为3并且姓张的人

        list.stream().filter( s -> s.length() == 3 ).filter( s -> s.startsWith("张"))

                .forEach( System.out::println);

        // 统计数量

        long count = list.stream().filter( s -> s.length() == 3 )

                .filter( s -> s.startsWith("张")).count();

        System.out.println(count);

        // 取前2个

        list.stream().filter(s -> s.length() == 3).limit(2)

                .forEach( System.out::println);

        // 跳过前2个

        list.stream().filter(s -> s.length() == 3).skip(2)

                .forEach( System.out::println);

    }

}



1.4终结于非终结方法



public class StreamDemo {

    public static void main(String[] args) {

        List<String> list = new ArrayList<>();

        list.add("张无忌");

        list.add("周芷若");

        list.add("赵敏");

        list.add("张强");

        list.add("张三丰");

        list.add("张三丰");



        // foreach终结方法

        list.stream().filter(s -> s.startsWith("张"))

                .filter(s -> s.length() == 3).forEach(System.out::println);



        long count =  list.stream().filter(s -> s.startsWith("张"))

                .filter(s -> s.length() == 3).count();

        System.out.println(count);



    }

}



1.5收集Stream流


  1. 什么是收集Stream流?

最后

给大家送一个小福利

资料附送高清脑图,高清知识点讲解教程,以及一些面试真题及答案解析。送给需要的提升技术、准备面试跳槽、自身职业规划迷茫的朋友们。

CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】

1630902491331)]

资料附送高清脑图,高清知识点讲解教程,以及一些面试真题及答案解析。送给需要的提升技术、准备面试跳槽、自身职业规划迷茫的朋友们。

CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】

[外链图片转存中…(img-FBCTDjNM-1630902491333)]

标签:count,Java,Stream,stream,渣本,list,filter,add
来源: https://blog.csdn.net/m0_60721695/article/details/120131576