java集合如何合并

java集合如何合并

作者:Rhett Bai发布时间:2026-01-30阅读时长:0 分钟阅读次数:10

用户关注问题

Q
如何将两个Java集合中的元素合并到一个新的集合?

我有两个不同的Java集合,想把它们的元素合并成一个新的集合,应该怎么操作?

A

合并两个Java集合的方法

可以通过集合的addAll()方法将一个集合中的元素全部添加到另一个集合中,从而实现合并。示例如下:

List<String> list1 = new ArrayList<>();
list1.add("a");
list1.add("b");

List<String> list2 = new ArrayList<>();
list2.add("c");
list2.add("d");

List<String> mergedList = new ArrayList<>(list1);
mergedList.addAll(list2);

这样mergedList就包含了list1和list2的所有元素。

Q
如何避免合并Java集合时产生重复元素?

在合并两个Java集合时,如果它们有重复的元素,怎样才能保证结果集合中没有重复?

A

使用Set集合合并避免重复元素

Set接口的实现类(如HashSet或LinkedHashSet)天然不允许重复元素。将两个集合的元素加入一个Set集合中,可以自动去除重复。例如:

Set<String> set = new HashSet<>(list1);
set.addAll(list2);

这样,set中就只包含唯一的元素。

Q
Java 8中有什么简洁的集合合并方式?

我想用Java 8的流式API来合并集合,有没有更简便的方法?

A

利用Stream API合并集合

可以使用Stream的concat方法将两个集合的流连接起来,然后收集为一个新的集合,比如List:

List<String> mergedList = Stream.concat(list1.stream(), list2.stream())
                              .collect(Collectors.toList());

这样代码更简洁灵活,还可以通过distinct()方法去除重复元素。