您好,登錄后才能下訂單哦!
這篇文章給大家介紹Java8中怎么利用Stream 創建流,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Stream<Integer> stream = new HashSet<Integer>()
.stream();
Stream<String> stringStream = new ArrayList<String>()
.stream();
IntStream intStream = IntStream.rangeClosed(1, 100);
Stream<Integer> integerStream = Stream.of(1, 2, 3);
Stream<String> stringStream = Stream.of("喜歡", "天文", "的", "pony", "站長");
AppleStream apple = new AppleStream();
Stream<AppleStream> appleStream = Stream.of(apple, apple, apple);
//重載了支持特定的基本類型流
IntStream intStream = Arrays.stream(new int[]{1, 2, 3});
LongStream longStream = Arrays.stream(new long[]{1L, 2L, 3L});
DoubleStream doubleStream = Arrays.stream(new double[]{1D, 2D, 3D});
Stream<String> stringStream = Arrays.stream(new String[]{"喜歡", "天文", "的", "pony", "站長"});
AppleStream apple = new AppleStream();
Stream<AppleStream> appleStream = Arrays.stream(new AppleStream[]{apple, apple, apple});
Stream<String> linesStream = Files.lines(Paths.get("fileStream.txt"));
linesStream.forEach(System.out::println);
Stream.iterate()
和
Stream.generate()
來生成無限流,這兩個方法會根據給定的表達式來生成包含無限個數據的流,所以一般結合
limit()
來使用。Stream.iterate(T seed,Function<T, R> apply)
Stream.generate(Supplier<T> s)
// 給定一個初始值seed,和一個`接收一個入參,并帶有返回值的函數`
Stream.iterate(10, x -> x + 5)
.limit(10)
.forEach(System.out::println);
Random random = new Random();
// 接收一個 `無入參,有返回值` 的函數
Stream.generate(() -> random.nextInt(100))
.limit(10)
.forEach(System.out::println);
關于Java8中怎么利用Stream 創建流就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。