import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class StreamExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("A");
list1.add("B");
list1.add("C");
List<String> list2 = new ArrayList<>();
list2.add("B");
list2.add("C");
list2.add("D");
// 使用Stream API获取两个List的并集且去重
List<String> unionList = Stream.concat(list1.stream(), list2.stream())
.distinct()
.collect(Collectors.toList());
// 输出并集结果
System.out.println(unionList);
}
}
在上面的代码中,你可以看到不需要显式地编写循环,
但是确实内部进行了迭代,Stream.concat
合并了两个流,
distinct
确保删除了重复的元素,collect
终止操作将结果收集到列表中。
这些操作构成了一个完整的数据处理管道,隐藏了实际处理中的循环细节。