[java]创建stream

baclt 2022-08-03 PM 19℃ 0条

创建一个空流
Sream.empty()

Stream.of()
Stream<String> stream=Stream.of("a","b","c");

从数组创建
Arrays.stream(arr)
Arrays.stream(arr,1,4) //数组的一部分

从集合创建
collection.stream()

从文件创建流
Path path = Paths.get("C:\tmp\file.txt");
Stream<String> fileStream = Files.lines(path);
Stream<String> fileStreamWithCharset = Files.lines(path, Charset.forName("UTF-8"));

字符流
IntStream charStream = "abc".chars();

从字符串创建字符串流
Stream<String> stringStream = Pattern.compile(",").splitAsStream("a,b,c");

streamBuilder
Stream.Builder<string> builder = Stream.<string>builder();
Stream<String> stream=builder.add("a").add("b").add("c").build();

Stream.generate()
Stream<String> generatedStream =Stream.generate(() -> "ele").limit(5)

Stream.iterate()
Stream<Integer> iteratedStream = Stream.iterate(10, n -> n + 1).limit(10)
10,11,12,13,14,15,16...
即第一个是初始值,执行函数后作为下一次输出

基本类型流

但感觉可能用包装类比较多
IntStream LongStream DoubleStream

IntStream.range(1, 3)
IntStream.rangeClosed(1, 3)
IntSream.of(1,2,3,4,5)

random创建基本类型流
Random random = new Random();
IntStream intStream = random.ints(3);
LongStream longStream = random.longs(3);
DoubleStream doubleStream = random.doubles(3);

作者:翊君
链接:https://juejin.cn/post/7072155717364350983
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签: java

非特殊说明,本博所有文章均为博主原创。

上一篇 [vue]关于method的响应式
下一篇 没有了

评论已关闭