在此程序中,您将学习各种不同的技术来合并Java中的两个列表。
示例1:使用addAll()合并两个列表
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列表。
示例2:使用union()合并两个列表
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。
示例3:使用流合并两个列表
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。