我想在Java中将3个ArrayList合并为一个。 有人知道如何做这件事的最佳方式吗?
使用 ArrayList.addAll()
方法。以下代码应该可以工作(假设列表包含 String
对象;您应相应更改)。
List<String> combined = new ArrayList<String>();
combined.addAll(firstArrayList);
combined.addAll(secondArrayList);
combined.addAll(thirdArrayList);
通过你的评论,我可以看出你实际上正在尝试创建一个二维列表。如果是这样的话,以下代码应该可以工作:
List<List<String>> combined2d = new ArrayList<List<String>>();
combined2d.add(firstArrayList);
combined2d.add(secondArrayList);
combined2d.add(thirdArrayList);
使用java.util.Arrays.asList来简化合并处理怎么样?
List<String> one = Arrays.asList("one","two","three");
List<String> two = Arrays.asList("four","five","six");
List<String> three = Arrays.asList("seven","eight","nine");
List<List<String>> merged = Arrays.asList(one, two, three);
Arrays.asList()
。 - TimList<List<String>>
,而不是 ArrayList<ArrayList<String>>
。OP明确要求使用ArrayList
。我不确定他们想要1D还是2D,但肯定应该使用ArrayList
。 - Erick G. Hagstrom使用Java 8 Streams:
列表中的列表
List<List<String>> listOfList = Stream.of(list1, list2, list3).collect(Collectors.toList());
字符串列表
List<String> list = Stream.of(list1, list2, list3).flatMap(Collection::stream).collect(Collectors.toList());
List<List<String>> = List.of(list1, list2, list3);
其中list1、list2、list3
的类型均为List<String>
List<T>
取出并制作成一个包含所有原始元素的单个List<T>
,还是关于制作一个包含每个原始列表的List<List<T>>
? - Erick G. HagstromArrayList<something>
的实例而不是仅仅是List
是否很重要? - Erick G. Hagstrom