package com.itheima._6stream流.stream流的创建;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Predicate;
import java.util.stream.Stream;
public class TestCount {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
Collections.addAll(list,"张无忌","周芷若","赵敏","张三丰","张翠山","灭绝师太","张三");
Stream<String> stream = list.stream();
//System.out.println(stream.count());
//只要姓张的
/* stream.filter(new Predicate<String>() {
@Override
public boolean test(String s) {
//姓张 返回true 留下来
return s.startsWith("张");
}
}).forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
});
*/
//对以上用lambda表达式简写
//stream.filter((s) -> s.startsWith("张")).forEach(s->System.out.println(s));
/* //在此基础上 保留三个字的
stream.filter((s) -> s.startsWith("张"))
.filter((s) -> s.length()==3).forEach(s->System.out.println(s));
//在此基础上 只要前两个
stream.filter((s) -> s.startsWith("张"))
.filter((s) -> s.length()==3).limit(2).forEach(s-> System.out.println(s));*/
//在此基础上,跳过第一个
stream.filter((s) -> s.startsWith("张"))
.filter((s) -> s.length()==3).limit(2).skip(1).forEach(s-> System.out.println(s));
}
}