package Streams;
import java.util.ArrayList;
/**
* 需求,按照下面的要求完成集合的创建和遍历
* 创建一个集合存储多个字符串元素
* 把集合中所有以张开头的元素存储到一个新的集合
* 把:张 开头的集合中长度为3??的元素存储到一个新的集合
* 遍历上一步得到的集合
*/
public class StreamDemo1 {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("张三啊");
list.add("李四啊");
list.add("王五噶");
list.add("张晓肖");
list.add("张a");
list.add("王先生");
ArrayList zhangList = new ArrayList();
for (String s:list){
if (s.startsWith("张")){
zhangList.add(s);
}
}
//把:张 开头的集合中长度为3??的元素存储到一个新的集合
ArrayList threeList = new ArrayList();
for (String s:zhangList){
if (s.length()==3){
threeList.add(s);
}
}
for (String s:threeList){
System.out.println(s);
}
System.out.println("========");
//采用Stream流改写
list.stream().filter(s ->s.startsWith("张")).filter(s -> s.length()==3).forEach(s -> System.out.println(s));
System.out.println("========");
list.stream().filter(s ->s.startsWith("张")).filter(s -> s.length()==3).forEach(System.out::println);
//Stream流是真正的函数式编程风格引入到JAVA中
}
}