java中如何合并两个人列表

java中如何合并两个人列表

作者:Elara发布时间:2026-02-12阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何在Java中合并两个不同的List集合?

我有两个List集合,里面存储的是不同类型的对象或者相同类型,我想把它们合并成一个集合,应该怎么做?

A

使用addAll方法合并两个List

Java中的List接口提供了addAll方法,可以将一个集合中的所有元素添加到另一个集合中。比如,可以先创建一个新的List,然后调用list1.addAll(list2),这样list1中就包含了两个List的所有元素。如果需要保留原有集合不变,可以新建一个List,将两个List分别添加进去。

Q
如何避免合并List后出现重复元素?

合并两个List后,我发现有重复的元素,如何避免这种情况?

A

利用Set集合去重后再转换为List

可以先将两个List合并后放入一个Set集合,因为Set天然不允许重复元素。合并完成后,将Set转换回List,就可以实现两个集合的合并且去重。在Java中常用HashSet作为实现类,例如:new ArrayList<>(new HashSet<>(list1))。

Q
Java 8中有没有更简洁的方式合并两个List?

是否有Java 8的流式操作可以用来合并两个List?

A

利用Stream的concat方法合并

Java 8引入了Stream API,可以通过Stream.concat方法将两个List转换成流之后合并,再收集成一个新的List。例如,List merged = Stream.concat(list1.stream(), list2.stream()).collect(Collectors.toList()); 这种方式代码简洁,且支持更多灵活操作。