简化代码## 初步体验Stream流的方便与快捷
要求:创建一个集合,然后找出姓周的并且名字长度为3的名字
笨方法:
public static void main(String[] args) {
List<String> names = new ArrayList<String>();
Collections.addAll(names, "周秉义", "周秉坤", "蔡晓光", "周楠", "郑娟");
System.out.println(names);
//1.从集合中找出姓周的放到新集合
List<String> zhouList = new ArrayList<String>();
for (String name : names) {
if (name.startsWith("周")) {
zhouList.add(name);
}
}
System.out.println(zhouList);
//2.找出姓名长度为3的姓名
List<String> zhouListThree = new ArrayList<String>();
for (String name : zhouList) {
if (name.length() == 3) {
zhouListThree.add(name);
}
}
System.out.println(zhouListThree);
}
stream优化后
names.stream().filter(a -> a.startsWith("周")).filter(a -> a.length() == 3).forEach(a -> System.out.println(a));
总结
Stream流的思想:过滤操作(留下以周开头的姓名)-------->过滤操作(留下长度为3的姓名)-------->将剩余的数据全部输出。