作用:
结合了Lambda表达式,简化集合、数组的操作。
使用步骤
1.先得到一条Stream流(流水线),并把数据放上去。
2.利用Stream流中的API进行各种操作。
中间方法:方法调用完毕后,还可以调用其他方法。
终结方法:最后一步,调用完毕后,不能调用其他方法。
2.1使用中间方法对流水线上的数据进行操作
2.2使用终结方法对流水线上的数据进行操作
package MyStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.function.Consumer;
import java.util.stream.Stream;
public class StreamDemo01 {
public static void main(String[] args) {
//1.单列集合获取Stream流
ArrayList<String> list=new ArrayList<>();
Collections.addAll(list,"a","b","c");
//获取到一条流水线,并把数据放到流水线上
Stream<String> stream1 = list.stream();
//使用终结方法打印一下流水线上的所有数据
/* stream1.forEach(new Consumer<String>() {
@Override
public void accept(String s) {
//s依次表示流水线上的每一个数据
System.out.println(s);
}
});*/
list.forEach(s->System.out.print(s));
}
}
package MyStream;
import java.util.HashMap;
public class StreamDemo02 {
public static void main(String[] args) {
//使用双列集合
//1.创建双列集合
HashMap<String,Integer> hm=new HashMap<>();
//2.添加数据
hm.put("aaa",111);
hm.put("bbb",222);
hm.put("ccc",333);
hm.put("ddd",444);
//3.第一种获取stream流
hm.keySet().stream().forEach(s-> System.out.println(s));
//4第二种获取stream流
hm.entrySet().stream().forEach(s-> System.out.println(s));
}
}
package MyStream;
import java.util.Arrays;
public class StreamDemo03 {
public static void main(String[] args) {
//数组获取Stram流
//1.创建数组
int[] arr={1,2,3,4,5,6,7,8,9,10};
String[] arr2={"a","b","c"};
//2.获取Stream流
Arrays.stream(arr).forEach(s-> System.out.println(s));
System.out.println("--------------------");
Arrays.stream(arr2).forEach(s-> System.out.println(s));
}
}
package MyStream;
import java.util.stream.Stream;
public class StreamDemo04 {
public static void main(String[] args) {
//一堆零散数据
Stream.of(1,2,3,4,5) .forEach(s-> System.out.println(s));
Stream.of("a","b","c","d","e") .forEach(s-> System.out.println(s));
}
}