Stream流:
fulter:
map:
skip:
java.util.stream.Stream(T)是JAVA8新加入的流接口 但并不是函数是借口
获取一个流非常简单
所有的Collection集合都可以通过stream默认方法获取流
default Stream<E> stream()
-Stream 接口的静态方法of可以湖区数组对应的流
static<T>Stream<T>of(T..values)
参数是一个可变参数,那么我们就可以传递一个数组,
Stream属于管道流 只能消费使用一次
第一个Stream流调用完毕方法,数据就会流转到下一个Stream上
而这时的第一个Stream已经使用完毕了 就会管理 所以第一个Stream流就不能再调用方法了
package 练习;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
public class Stream流 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList();
ArrayList list2 = new ArrayList();
list.add("张三丰");
list.add("张三");
list.add("张三炮");
list.add("张三秒");
list.add("张鹏飞");
list.add("李二蛋");
list.stream().filter(s->s.startsWith("张"))
.filter(s->s.length()==3)
.forEach(System.out::println);
}
}
映射:就是从一个数组或集合转换为另一个数组或集合
map 可以将 一种数据类型转换为另一种数据类型
Stream流中的常用方法count:用于统计Stream流中的元素个数
long count方法
limit方法: 对流进行截取 只取前n个.
skip:获取一个截取之后的新流 skip(要跳过的个数)
concat:合并流
第二章 方法引用
细节详看C:\Users\User\Desktop\练习\黑马练习\4.14\方法引用
this和supper一个意思 this是引用本类的成员方法 supper是引用父类的成员方法
通过方法引用类的构造器直接::new出来 printName("赵丽颖", Person::new);