一、合并List
在Java中,要合并多个List是非常普遍的需求。合并List的方法有很多,我们可以使用addAll()方法,也可以使用Java 8中的Stream API等。addAll()是最常用的方法之一,它可用于将一个List添加到另一个List中。
List<String> list1 = new ArrayList<>(); list1.add("Apple"); list1.add("Orange"); List<String> list2 = new ArrayList<>(); list2.add("Banana"); list2.add("Peach"); list1.addAll(list2);
上面的代码会将list2中的所有元素添加到list1中,最终list1中包含4个元素:”Apple”,”Orange”,”Banana”,”Peach”。
除了使用addAll()方法,还可以使用Java 8中的Stream API来合并List。使用Stream API可以实现更多复杂的任务,例如去除重复项等。
List<String> list1 = new ArrayList<>(); list1.add("Apple"); list1.add("Orange"); List<String> list2 = new ArrayList<>(); list2.add("Banana"); list2.add("Peach"); List<String> mergedList = Stream.of(list1, list2) .flatMap(Collection::stream) .collect(Collectors.toList());
上面的代码使用Stream API并结合flatMap()方法,将两个List合并为一个mergedList。
二、两个List合并
有时候我们只需要将两个List合并成一个。除了使用addAll()方法,我们还可以使用Collections.addAll()方法进行合并。
List<String> list1 = new ArrayList<>(); list1.add("Apple"); list1.add("Orange"); List<String> list2 = new ArrayList<>(); list2.add("Banana"); list2.add("Peach"); List<String> mergedList = new ArrayList<>(list1.size() + list2.size()); Collections.addAll(mergedList, list1.toArray(new String[0])); Collections.addAll(mergedList, list2.toArray(new String[0]));
上面的代码使用了Collections.addAll()方法来将两个List合并成一个mergedList。
三、多个List合并成一个
如果需要将多个List合并成一个,add()方法和addAll()方法将会非常繁琐。这时,我们可以使用Java 8的Stream API来实现合并。
List<String> list1 = new ArrayList<>(); list1.add("Apple"); list1.add("Orange"); List<String> list2 = new ArrayList<>(); list2.add("Banana"); list2.add("Peach"); List<String> list3 = new ArrayList<>(); list3.add("Grapes"); list3.add("Watermelon"); List<String> mergedList = Stream.of(list1, list2, list3) .flatMap(Collection::stream) .collect(Collectors.toList());
上面的代码使用Stream API并结合flatMap()方法,将三个List合并为一个mergedList。
总结
在Java中,合并List操作非常常见,我们可以使用addAll()方法或Java 8中的Stream API来实现。除此之外,如果需要将多个List合并成一个,我们可以使用Stream API的flatMap()方法。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/270976.html