Java中stream初始化的几种方法

1、集合类

这里的集合类主要就是list和set两种,而且初始化的方法是来源于父接口的Collection

List<String> list = new ArrayList<>();
list.stream();

Java中stream初始化的几种方法_第1张图片

2、stream类自身的方法

  • stream.of(数组)
String[] arr = { "java", "python", "c++" };
Stream<String> stream = Stream.of(arr);

通过底层源码可知,这个方法是使用Arrays.of完成初始化的。
Java中stream初始化的几种方法_第2张图片

  • stream.of(T t)
    在这里插入图片描述
  • Stream.generate(Supplier s)
    传入一个提供者接口,注意这个方法生成的是无限流,必须配合limit方法,来截取流。
Stream.generate(Math::random)
Stream.generate(() -> "Java")
  • Stream.iterate()
    这个挺好用的,可以生成奇数或者偶数之类的,使用迭代器生成不会占用太多内存。也得配合limit方法来使用。
Stream<Integer> integerStream = Stream.iterate(0, x -> x + 2).limit(10);

你可能感兴趣的:(Java)