使用传统的方式和Stream流的方式分别遍历集合

使用传统的方式遍历集合

使用传统的方式,遍历集合,对集合中的数据进行过滤

    /**
     * 使用传统的方式遍历集合,对集合中的数据进行过滤
     */
    public static void main(String[] args) {
        //创建一个list集合,存储姓名
        List<String> list = new ArrayList<>();
        list.add("张无忌");
        list.add("周芷若");
        list.add("赵敏");
        list.add("张强");
        list.add("张三丰");
对list集合中的元素进行过滤,只要以张开头的元素,存储到一个新的集合中
//对list集合中的元素进行过滤,只要以张开头的元素,存储到一个新的集合中
        List<String> listA = new ArrayList<>();
        for (String s : list) {
            if (s.startsWith("张")){
                listA.add(s);
            }
        }
对listA集合进行过滤,只要姓名长度为3的人,存储到一个新集合中
//对listA集合进行过滤,只要姓名长度为3的人,存储到一个新集合中
        List<String> listB = new ArrayList<>();
        for (String s : listA) {
            if (s.length()==3){
                listB.add(s);
            }
        }
遍历listB集合
        //遍历listB集合
        for (String s : listB) {
            System.out.println(s);
        }

 

 

 

 

 

 

 

 

 

使用Stream流的方式遍历集合

Stream流的方式,遍历集合,对集合中的数据进行过滤
Stream流是JDK1.8之后出现的
关注的是做什么,而不是怎么做

    /**
     *  使用Stream流的方式遍历集合
     */
    public static void main(String[] args) {
        //创建一个list集合,存储姓名
        List<String> list = new ArrayList<>();
        list.add("张无忌");
        list.add("周芷若");
        list.add("赵敏");
        list.add("张强");
        list.add("张三丰");
        //对list集合中的元素进行过滤,只要以张开头的元素,存储到一个新的集合中
        //对listA集合进行过滤,只要姓名长度为3的人,存储到一个新集合中
        //遍历listB集合
        list.stream()
                    .filter(name->name.startsWith("张"))
                    .filter(name->name.length()==3)
                    .forEach(name-> System.out.println(name));
    }

 

posted @ 2022-07-20 17:08  xjw12345  阅读(163)  评论(0)    收藏  举报