Java生成有限流

整数的有限流

Stream<Integer> numbers = Stream.of(1, 2, 3, 4);

字符串的有限流

Stream<String> alphabets = Stream.of("A", "B", "C", "D");

对象的有限流

private static Employee[] arrayOfEmps = {
    new Employee(1, "Jeff Bezos", 100000.0), 
    new Employee(2, "Bill Gates", 200000.0), 
    new Employee(3, "Mark Zuckerberg", 300000.0)
};
Stream<Employee> employees = Stream.of(arrayOfEmps);
on  it road.com

Java生成无限流

创建一个 0 到 99 之间的 10 个随机数组成的流。

Stream<Integer> randomNumbers = Stream.generate( () -> (new Random()).nextInt(100) );
randomNumbers.limit(20).forEach( System.out::println ); //print first 20 numbers

无限个偶数流

Stream<Integer> infiniteEvenNumbers = Stream.iterate(0, n -> n + 2);
infiniteEvenNumbers.limit(10).forEach( System.out::println ); //print first 10 numbers
Java 如何生成流

在 Java 中,使用下面的java.util.StreamAPI 静态方法用于创建 T 类型的 Stream对象:

static <T> Stream<T> of(T... values);
static <T> Stream<T> generate(Supplier<? extends T> s);
  • 第一种方法通过提供一个可变长度的值列表来创建一个流,例如Stream.of(1, 2, 3, 4)
  • 第二种方法接受一个 Supplier,它提供了放置在流中的无限系列元素。然后可以在流链中调用limit()方法以在一定数量的元素后停止系列。
日期:2020-09-17 00:09:20 来源:oir作者:oir