zoukankan      html  css  js  c++  java
  • java8新特性-Stream概述

    public class App {
        public static void main(String[] args) {
            //1.添加测试数据
            List<String> accounts = new ArrayList<>();
            accounts.add("tom");
            accounts.add("jerry");
            accounts.add("beita");
            //1.1 业务要求:长度大于等于5的有效账号
            for (String account : accounts) {
                if (account.length() >= 5) {
                    System.out.println("有效账号:" + account);
                }
            }
            //1.2 通过迭代方式进行操作
            Iterator<String> iterator = accounts.iterator();
            while (iterator.hasNext()) {
                String account = iterator.next();
                if (account.length() >= 5) {
                    System.out.println("有效账号:" + account);
                }
            }
            //1.3 stream结合lambda表达式进行处理
            List<String> vaildAccounts = accounts.stream().filter(s -> s.length() >= 5).collect(Collectors.toList());
            System.out.println(vaildAccounts);
        }
    }
    

    Stream使用一种类似于sql语句从数据库查询数据的直观方式类提供对java集合表达和运算的高阶抽象。

    这种处理方式是将要处理的元素看成一种流,并且可以在管道的节点上进行处理,比如筛选,排序,聚合等。

    处理的对象可以是集合,数组,i/o channel,产生器generator等。

    聚合操作可以是map,filter,reduce,find,match,sorted等。

  • 相关阅读:
    java关键字之synchronized
    java多线程之线程安全
    java多线程之管道流
    java多线程之多生产者-多消费者
    java多线程之生产者-消费者
    java多线程之wait和notify
    python读取json文件并解析
    java之继承中的静态变量
    shell多线程(3)while循环
    equals与hashcode
  • 原文地址:https://www.cnblogs.com/freeht/p/13062849.html
Copyright © 2011-2022 走看看