天天看點

java Stream流之建立方式

Stream 是 Java8 中處理集合的關鍵抽象概念,它可以指定你希望對集合進⾏的操作,可以執⾏⾮常複雜的查找、過濾和映射資料

等操作。使⽤Stream API 對集合資料進⾏操作,就類似于使⽤ SQL 執⾏的資料庫查詢。也可以使⽤ Stream API 來并⾏執⾏操作。簡⽽

⾔之,Stream API 提供了⼀種⾼效且易于使⽤的處理資料的⽅式。

Stream的一些特點:

1 . 不是資料結構,不會儲存資料。

2. 不會修改原來的資料源,它會将操作後的資料儲存到另外⼀個對象中。(保留意見:畢竟peek⽅法可以修改流中元素)

3. 惰性求值,流在中間處理過程中,隻是對操作進⾏了記錄,并不會⽴即執⾏,需要等到執⾏終⽌操作的時候才會進⾏實際的計算。

一丶建立Stream流方式一:     通過集合

//建立一個集合
List<Employee> list = EmployeeData.getEmployees();
//得到一個順序流
Stream<Employee> stream = list.stream();
//得到一個并行了流
Stream<Employee> stream2 = list.parallelStream();
           

二丶建立Stream流方式二:    通過數組

//先建立一個數組
int[] arr = new int[]{1, 2, 3, 4, 5, 6};
//使用數組Arrays工具類擷取Stream流
IntStream stream = Arrays.stream(arr);
           

二丶建立Stream流方式三:    通過stream流的of( )方法

Stream<Integer> stream = Stream.of(1,2,3,4,5,6);
           

四丶建立Stream流方式四:    建立無限流

//無限流之疊代方式
//建立了10個元素從0到18
Stream<Integer> s =  Stream.iterate(0, t -> t + 2).limit(10);
        
//無限流之生成方式
//建立了10個随機數
Stream<Double> s2 =  Stream.generate(Math::random).limit(10);