
不使用Stream流完成上述操作代码:
public class StreamDemo { public static void main(String[] args) { //创建一个集合,存储多个字符串元素 ArrayList<String> list = new ArrayList<>(); list.add("赵敏"); list.add("张无忌"); list.add("张三丰"); list.add("张飞"); list.add("李小龙"); //把集合中所有以“张”开头的元素存储到一个新的集合 ArrayList<String> zhangList = new ArrayList<>(); for (String s : list){ if (s.startsWith("张")){ zhangList.add(s); } } //把“张”开头的集合中的长度为3的元素存储到一个新的集合 ArrayList<String> threeList = new ArrayList<>(); for (String s : zhangList){ if (s.length() == 3){ threeList.add(s); } } //遍历上一步的得到的集合 for (String s : threeList){ System.out.println(s); } } }
添加一行代码使用Stream流改进
//使用Stream流改进 list.stream().filter(s -> s.startsWith("张")).filter(s -> s.length() == 3).forEach(s -> System.out.println(s));
两种方式的运行结果:

原文:https://www.cnblogs.com/pxy-1999/p/13163064.html