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等。
原文:https://www.cnblogs.com/freeht/p/13062849.html