数组到流

Version >= Java SE 8

将对象数组转换为 Stream

String[] arr = new String[] {"str1", "str2", "str3"};
Stream<String> stream = Arrays.stream(arr);

使用 Arrays.stream() 将基元数组转换为 Stream 会将数组转换为 Stream 的原始特化:

int[] intArr = {1, 2, 3};
IntStream intStream = Arrays.stream(intArr);

你还可以将 Stream 限制为数组中的元素范围。起始索引是包含的,结束索引是独占的:

int[] values = {1, 2, 3, 4};
IntStream intStream = Arrays.stream(values, 2, 4);

类似于 Arrays.stream() 的方法出现在 Stream 类: Stream.of() 。不同之处在于 Stream.of() 使用了 varargs 参数,因此你可以编写如下内容:

Stream<Integer> intStream = Stream.of(1, 2, 3);
Stream<String> stringStream = Stream.of("1", "2", "3");
Stream<Double> doubleStream = Stream.of(new Double[]{1.0, 2.0});