协慌网

登录 贡献 社区

如何在 Java 中加入两个列表?

条件:不修改原始清单;仅 JDK,无外部库。一线或 JDK 1.3 版本的加分点。

有没有比以下更简单的方法:

List<String> newList = new ArrayList<String>();
newList.addAll(listOne);
newList.addAll(listTwo);

答案

在 Java 8 中:

List<String> newList = Stream.concat(listOne.stream(), listTwo.stream())
                             .collect(Collectors.toList());

我可以从头顶上将其缩短一行:

List<String> newList = new ArrayList<String>(listOne);
newList.addAll(listTwo);

您可以使用Apache commons-collections库:

List<String> newList = ListUtils.union(list1, list2);