在Java中按特定顺序查询ArrayLists

Sum*_*mit 0 java list

我在Java中有一个HashMaps的ArrayList,我想将它附加到另一个类似的列表,有没有办法做到这一点,以便生成的数组列表保留顺序.

例如:

List<Map<String, String>> list1 = new ArrayList<HashMap<String, String>>();
List<Map<String, String>> list1 = new ArrayList<HashMap<String, String>>();

list1.add(hm1);
list1.add(hm2);
list1.add(hm3);

list2.add(hm4);
list2.add(hm5);
list2.add(hm6);
Run Code Online (Sandbox Code Playgroud)

我想要的新列表是:

//list 3 = list1 + list2;
list3 = {hm1, hm2, hm3, hm4, hm5, hm6};
Run Code Online (Sandbox Code Playgroud)

怎么做?

Pet*_*sik 5

您可以在Java 8中轻松完成

List<HashMap<String, String>> newList = Stream.concat(listOne.stream(), 
   listTwo.stream()).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

或者在Java 7及更低版本中

List<HashMap<String, String>> newList = new ArrayList<>(list1.size() + list2.size());
newList.addAll(listOne);
newList.addAll(listTwo);
Run Code Online (Sandbox Code Playgroud)

但是,您应该注意可能由对两个列表的重复引用引起的内存泄漏,请查看答案以获取更多信息.