java stream api通过arrays.stream()将数组转为流处理:引用类型数组直接转换,基本类型数组返回特化流(如intstream);需装箱才转stream,优先用原生流方法提升性能。

Java Stream API 本身不直接支持数组的“遍历并处理”,但可以通过 Arrays.stream() 将一维数组转换为流,再使用流操作完成过滤、映射、聚合等处理。
将一维数组转为 Stream
基本类型数组(如 int[]、double[])和引用类型数组(如 String[])需用不同方式转换:
-
引用类型数组:直接调用
Arrays.stream(array) -
基本类型数组:也用
Arrays.stream(array),但返回的是对应特化流(如IntStream),不能直接当Stream<integer></integer>用
常见处理操作示例
以 int[] numbers = {1, 2, 3, 4, 5}; 为例:
-
遍历打印:
Arrays.stream(numbers).forEach(System.out::println); -
筛选偶数:
Arrays.stream(numbers).filter(n -> n % 2 == 0).forEach(System.out::println); -
映射为字符串:
Arrays.stream(numbers).mapToObj(String::valueOf).forEach(System.out::println); -
求和:
int sum = Arrays.stream(numbers).sum(); -
转为 List(需先装箱):
List<integer> list = Arrays.stream(numbers).boxed().collect(Collectors.toList());</integer>
注意装箱与拆箱开销
基本类型流(IntStream 等)性能更好,避免无谓装箱。若需后续用 Stream<t></t> 接口方法(如 flatMap、distinct),才调用 boxed();否则优先使用原生流方法(如 IntStream.range(0, n)、sum()、average())。
引用类型数组更直接
例如 String[] arr = {"a", "b", "c"};:
Arrays.stream(arr).map(String::toUpperCase).forEach(System.out::println);long count = Arrays.stream(arr).filter(s -> s.length() > 1).count();- 无需装箱,可直接链式调用大多数
Stream方法
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











