一、合併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/zh-hk/n/270976.html