在Java开发中,Stream API的强大功能彻底改变了集合数据处理方式。其中合并操作是常见需求,掌握不同合并方法能显著提升代码质量。
1. 使用concat()简单合并
Stream<Integer> stream1 = Stream.of(1, 2, 3);
Stream<Integer> stream2 = Stream.of(4, 5, 6);
Stream<Integer> merged = Stream.concat(stream1, stream2);
merged.forEach(System.out::print); // 输出:123456
2. 使用flatMap()扁平化合并
List<List<Integer>> listOfLists = Arrays.asList(
Arrays.asList(1, 2),
Arrays.asList(3, 4),
Arrays.asList(5, 6)
);
List<Integer> flattened = listOfLists.stream()
.flatMap(Collection::stream)
.collect(Collectors.toList());
// 结果:[1, 2, 3, 4, 5, 6]
3. 使用reduce()归约合并
List<String> letters = Arrays.asList("J", "a", "v", "a");
String result = letters.stream()
.reduce("", (partial, element) -> partial + element);
// 结果:"Java"
性能对比与选择建议
- concat():适合已知有限流的简单合并
- flatMap():适合嵌套结构的扁平化处理
- reduce():适合需要自定义聚合逻辑的场景
根据数据规模和业务需求选择合适方法,能让代码既简洁又高效。掌握这些合并技巧,将使你的Stream处理能力更上一层楼。
171万+

被折叠的 条评论
为什么被折叠?



