在此程序中,您將學習各種不同的技術來合并Java中的兩個列表。
import java.util.ArrayList; import java.util.List; public class JoinLists { public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); list1.add("a"); List<String> list2 = new ArrayList<String>(); list2.add("b"); List<String> joined = new ArrayList<String>(); joined.addAll(list1); joined.addAll(list2); System.out.println("list1: " + list1); System.out.println("list2: " + list2); System.out.println("joined: " + joined); } }
運行該程序時,輸出為:
list1: [a] list2: [b] joined: [a, b]
在以上程序中,我們使用List的addAll()方法來合并列表list1和list2列表。
import java.util.ArrayList; import java.util.List; import org.apache.commons.collections.ListUtils; public class JoinLists { public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); list1.add("a"); List<String> list2 = new ArrayList<String>(); list2.add("b"); List<String> joined = ListUtils.union(list1, list2); System.out.println("list1: " + list1); System.out.println("list2: " + list2); System.out.println("joined: " + joined); } }
該程序的輸出是相同的。
在以上程序中,我們使用union()方法將給定列表合并到joined。
import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class JoinLists { public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); list1.add("a"); List<String> list2 = new ArrayList<String>(); list2.add("b"); List<String> joined = Stream.concat(list1.stream(), list2.stream()) .collect(Collectors.toList()); System.out.println("list1: " + list1); System.out.println("list2: " + list2); System.out.println("joined: " + joined); } }
該程序的輸出是相同的。
在上面的程序中,我們使用Stream的concat()方法連接兩個轉換為流的列表。然后,使用toList()將它們轉換回List。