1.Stream流的终结方法
2.forEach
对于forEach方法,用来遍历stream流中的所有数据
package com.njau.d10_my_stream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.function.Consumer;
import java.util.function.IntFunction;
/**
* 目标:认识stream流的终结方法
* void forEach(Consumer action) 遍历
* long count() 统计
* toArray() 收集流中的数据,放到数组中
*/
public class StreamDemo9 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
Collections.addAll(list,"张无忌","周芷若","赵敏","张强","张三丰","张翠山","张良","王二麻子","谢广坤");
// void forEach(Consumer action) 遍历 返回值为void,证明其为终结方法
// Consumer的泛型:表示流中数据的类型
// accept方法的形参s:依次表示流里面的每一个数据
// 方法体:对没有个数据的处理操作(打印)
list.stream().forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
});
list.stream().forEach(s -> System.out.println(s));
}
}
3.count
对于count方法,用于统计流中元素的数量
package com.njau.d10_my_stream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.function.Consumer;
import java.util.function.IntFunction;
/**
* 目标:认识stream流的终结方法
* void forEach(Consumer action) 遍历
* long count() 统计
* toArray() 收集流中的数据,放到数组中
*/
public class StreamDemo9 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
Collections.addAll(list,"张无忌","周芷若","赵敏","张强","张三丰","张翠山","张良","王二麻子","谢广坤");
// long count() 统计
System.out.println(list.stream().count());
}
}
4.toArray(将流存储到数组中去,集合->数组)
深入认识toArray(带有数组类型的方法)
1.new IntFunction的泛型类型:具体类型的数组
2.apply的形参:流中数据的个数,要跟数组长度保持一致
3.apply的返回值:具体类型的数组
方法体:就是创建数组
package com.njau.d10_my_stream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.function.Consumer;
import java.util.function.IntFunction;
/**
* 目标:认识stream流的终结方法
* void forEach(Consumer action) 遍历
* long count() 统计
* toArray() 收集流中的数据,放到数组中
*/
public class StreamDemo9 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
Collections.addAll(list,"张无忌","周芷若","赵敏","张强","张三丰","张翠山","张良","王二麻子","谢广坤");
// 深入认识toArray(带有数组类型的方法)
// 1.new IntFunction的泛型类型:具体类型的数组
// 2.apply的形参:流中数据的个数,要跟数组长度保持一致
// 3.apply的返回值:具体类型的数组
// 方法体:就是创建数组
// toArray方法参数的作用:创建一个String类型的数组
// toArray方法的底层:将流中的数据依次存放到数组中
// toArray方法的返回值:返回已经存储进去流中数据的数组
/*
String[] arr2 = list.stream().toArray(new IntFunction<String[]>() {
@Override
public String[] apply(int value) {
return new String[value];
}
});
*/
String[] arr2 = list.stream().toArray(value -> new String[value]);
System.out.println(Arrays.toString(arr2));
}
}