您的位置 首页 java

Java 创建流

已将新方法添加到Java库以返回流。

我们可以通过以下方式创建流。

  • 从值创建流
  • 从空流创建流
  • 从函数创建流
  • 从数组创建流
  • 从集合创建流
  • 从文件创建流
  • 从其他来源创建流

在以下部分中,我们将学习如何创建流。

从值创建流

我们可以使用Stream接口的()从单个值和多个值创建顺序流。

<T> Stream<T> of(T t)
<T> Stream<T> of(T...values)
 

从方法签名,我们可以看到第一个of()方法从单个值创建流,而第二个of()方法从不同长度参数创建流

以下代码创建包含单个值的流。

import java.util.stream.Stream;
public class Main {
 public static void main(String[] args) {
 Stream<String> stream = Stream.of("www.w3cschool.cn");
 stream.forEach(System.out::println);
 }
}
 

上面的代码生成以下结果。

例2

以下代码创建具有四个字符串的流。

import java.util.stream.Stream;
public class Main {
 public static void main(String[] args) {
 Stream<String> stream = Stream.of("XML", "Java", "CSS", " SQL ");
 stream.forEach(System.out::println);
 }
}
 

上面的代码生成以下结果。

例3

以下代码从对象数组创建流。

import java.util.stream.Stream;
public class Main {
 public static void main(String[] args) {
 String[] names = { "XML", "Java", "SQL", "CSS" };
 Stream<String> stream = Stream.of(names);
 stream.forEach(System.out::println);
 }
}
 

上面的代码生成以下结果。

流构建器

我们可以使用 Stream.Builder<T> 创建流。

以下代码创建流构建器。

Stream.Builder<String> builder = Stream.builder();

import java.util.stream.Stream;
public class Main {
 public static void main(String[] args) {
 Stream<String> stream = Stream.<String>builder()
 .add("XML")
 .add("Java")
 .add("CSS")
 .add("SQL")
 .build();
 stream.forEach(System.out::println);
 }
}
 

上面的代码生成以下结果。

IntStream范围

我们可以使用IntStream接口中的以下两种方法从一系列int值创建IntStream。

IntStream range(int start, int end)
IntStream rangeClosed(int start, int end).
 

它们创建一个包含开始和结束之间的有序整数的IntStream。

指定的结束在range()方法中是独占的,并且在rangeClosed()方法中是包含的。

以下代码使用这两种方法创建一个IntStream,它的整数为1,2,3,4和5作为其元素:

import java.util.stream.IntStream;
public class Main {
 public static void main(String[] args) {
 IntStream oneToFive = IntStream.range(1, 6);
 //IntStream oneToFive = IntStream.rangeClosed(1, 5);
 oneToFive.forEach(System.out::println);
 }
}
 

像IntStream接口一样, long Stream类还包含range()和rangeClosed()方法,它们接受类型为long的参数,并返回一个LongStream。

上面的代码生成以下结果。

空流

空流没有元素。

我们可以使用empty() 静态方法 从Stream接口以创建空的顺序流。

import java.util.stream.Stream;
public class Main {
 public static void main(String[] args) {
 Stream<String> stream = Stream.empty();
 stream.forEach(System.out::println);
 }
}
 

IntStream,LongStream和DoubleStream接口还包含一个empty()静态方法来创建一个空的基本类型流。

以下代码创建一个空的整数流。

IntStream numbers = IntStream.empty();

文章来源:智云一二三科技

文章标题:Java 创建流

文章地址:https://www.zhihuclub.com/183322.shtml

关于作者: 智云科技

热门文章

网站地图