1、集合类
这里的集合类主要就是list和set两种,而且初始化的方法是来源于父接口的Collection
List<String> list = new ArrayList<>();
list.stream();
2、stream类自身的方法
- stream.of(数组)
String[] arr = { "java", "python", "c++" };
Stream<String> stream = Stream.of(arr);
通过底层源码可知,这个方法是使用Arrays.of完成初始化的。
- stream.of(T t)
- Stream.generate(Supplier<? extends T> s)
传入一个提供者
接口,注意这个方法生成的是无限流,必须配合limit方法,来截取流。
Stream.generate(Math::random)
Stream.generate(() -> "Java")
- Stream.iterate()
这个挺好用的,可以生成奇数或者偶数之类的,使用迭代器生成不会占用太多内存。也得配合limit方法来使用。
Stream<Integer> integerStream = Stream.iterate(0, x -> x + 2).limit(10);