stream是java8中處理集合的關鍵抽象概念,它可以指定您希望對集合進行的操作,可以執行非常復雜的查找、過濾和映射數據等操作。使用stream api對集合數據進行操作,就類似于使用sql執行的數據庫查詢。
stream 的三個操作步驟
1、創建stream.
得到stream流的第一種方式:
可以通過collection系列集合提供提供的stream()或parallelstream
1
2
3
4
5
6
7
8
9
10
11
|
@test public void test1() { //可以通過collection系列集合提供提供的stream()或parallelstream list<string> list = new arraylist<>(); stream<string> stream = list.stream(); } |
通過arrays中的靜態方法stream()方法得到數組流
//通過arrays中的靜態方法stream()方法得到數組流
1
2
3
|
dept[] depts = new dept[ 10 ]; stream<dept> deptstream = arrays.stream(depts); |
通過stream類中的靜態方法of()stream.of("aa","bb","cc");
創建無限流 //迭代 stream<integer> integerstream = stream.iterate(0,(x) -> x+2);
2、中間操作
//創建無限流 //迭代 stream<integer> integerstream = stream.iterate(0,(x) -> x+2); //中間操作 integerstream.limit(10).foreach(system.out::println);
6、
查看運行結果
3、終止操作
1
2
3
4
5
6
7
8
9
|
//創建無限流 //迭代 stream<integer> integerstream = stream.iterate( 0 ,(x) -> x+ 2 ); //終止操作 integerstream.foreach(system.out::println); |
查看運行結果