método de flujo día 29 de corriente y referencia

día 29

1. El caudal

1.1 introdujo

	Stream 流不是I/O流,按照流水线处理方式来考虑代码中的思想。
	JDK1.8 之后,我们拥有了Lambda表达式,让代码的中心偏向解决实际问题,直到重点,可以提高效率。
	Stream流中使用了大量Lambda表达式,利用Lambda操作方式,提供开发效率

1.2 Modo de recorrido tradicional y corriente Flujo

Stream流更倾向于重点

1.3 Ideas de flujo correspondiente Stream

流水线
	原材料从头到尾只会占用一份空间,中间的过程中不会占用空间,最后生成一个结果。
	
Stream流有一些特征:
	1. 带有很多Stream流操作的方法,filter、limit、map、sorted、skip...这些方法大多是都会使用到函数式接口,有Lambda表达式
	2. 整个Stream流模型造作过程中,只有执行到count,foreach等方法,操作真正的执行中的模型,如果不存在结果向导,中间的所有操作是无效的,这里得益于Lambda表达式的延后性。
	3. Stream流是存在一定的管道性Pipelining流水线

1.4 consigue un flujo de corriente

java.util.stream.Stream<T> JDK1.8新特征
	1. 所有的Collection<T>集合都有对应的stream();
	2. 可以通过Stream类中的static Stream of() 获取
		static Stream<T> of(T... t);
		static Stream<T> of(T t);

1,5 método común Secuencia

延迟方法
	返回值类型依然是Stream接口,没有允许我们操作真正的资源
	允许链式操作
终结方法
	返回类型不是Stream接口本身,要么处理数据,要么返回其他类型数据,
	不再支持链式操作
	count、foreach

1.5.1 método de terminación de foreach [método]

void foreach(Cunsumer<? super T> action);
/*
终结方法
	需要一个Consumer接口进行操作,消耗一个数据
	可以使用Lambda表达式
*/

1.5.2 método de filtro

Stream<T> filter(Predicate<? super T> filter);
/*
    filter 是过滤方法,需要的参数使Predicate接口,
    可以使用Lambda方法
    这里返回值类型是过滤后的Stream流对象,可以进行链式操作
    Predicate接口方法  	
*/

Método 1.5.3 mapa

<R> Stream<R> map(Function<? super T, ? super R> fun);
/*
类型转换操作,得到的一个转换之后数据类型的Stream流对象
这里需要的参数是Functtion函数式接口,
	R apply(T t);
	T类型的数据转换成R类型数据
*/

1.5.4 recuento método de terminación [método]

long count();
/*
返回当前Stream流对象中有多少个元素
类似有Collection接口下的size(). String的length();
【终结方法】
	一旦执行Stream流对象被关闭
*/

1.5.5 método límite

Stream<T> limit(long maxSize);
/*
对于当前Stream流对象操作的数据进行限制操作,限制个数到maxSize
例如:
	Stream流中保存7个数据,取前5个。
*/

1.5.6 método de salto

Stream<T> skip(long n);
/*
返回值依然是一个Stream流对象,这里跳过当前Stream流对象前n个元素
*/

método 1.5.7 concat

static Stream<T> concat(Stream<? extends T> stream1,Stream<? extends T> stream2);
/*
拼接两个Stream流对象,是一个静态方法,得到一个新的Stream流对象
*/

1.5.8 Comparar el modo de operación original y el flujo de corriente modo de operación

1. 一个String类型的字符串集合
2. 过滤,得到包含5的数据
3. 跳过前三个数据
4. 限制得到前5个数据
5. 两个String类型集合字符串合并
6. 转换成Person类型
7. 展示

2. El método de referencia

2.1 Lambda de redundancia y método referencias conocido

2.2 El método requiere poca referencia

 testPrint("郑州加油!!!", str -> System.out.println(str));
 
 testPrint("郑州加油!!!", System.out::println);
 
 1. 明确对象
 	对象 ==> 调用者
 	类对象,类名,super,this,构造方法,数组构造方法
 2. 明确的执行方法
 	该方法只有名字不需要显式出现参数
 3. 需要处理的数据
 	【联想,推导,省略】
 4. :: 方法引用格式

2.3 a través del método de ejecución objeto de clase

1. 明确对象
	类对象
2. 明确执行的方法
	自定义
3. 处理的数据
	简单要求为String类型

2.4 la realización del procedimiento referenciado por el nombre de la clase

2.5 aplicación del método de referencia con la palabra clave super

2.6 aplicación de referencia de este método por palabra clave

Publicado 41 artículos originales · ganado elogios 33 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/m0_37771142/article/details/104825541
Recomendado
Clasificación