在此程序中,您將學(xué)習(xí)各種不同的技術(shù)來合并Java中的兩個(gè)列表。
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);
}
}運(yùn)行該程序時(shí),輸出為:
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()方法將給定列表合并到j(luò)oined。
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()方法連接兩個(gè)轉(zhuǎn)換為流的列表。然后,使用toList()將它們轉(zhuǎn)換回List。