📜  Java程序加入两个列表

📅  最后修改于: 2020-09-26 18:46:36             🧑  作者: Mango

在此程序中,您将学习不同的技术来将Java中的两个列表连接在一起。

示例1:使用addAll()连接两个列表
import java.util.ArrayList;
import java.util.List;

public class JoinLists {

    public static void main(String[] args) {

        List list1 = new ArrayList();
        list1.add("a");

        List list2 = new ArrayList();
        list2.add("b");

        List joined = new ArrayList();

        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]

在上面的程序中,我们使用ListaddAll()方法将列表list1list2连接到已连接列表。


示例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 list1 = new ArrayList();
        list1.add("a");

        List list2 = new ArrayList();
        list2.add("b");

        List joined = ListUtils.union(list1, list2);

        System.out.println("list1: " + list1);
        System.out.println("list2: " + list2);
        System.out.println("joined: " + joined);

    }
}

该程序的输出与示例1相同。

在上面的程序中,我们使用union()方法将给定列表连接到join。


示例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 list1 = new ArrayList();
        list1.add("a");

        List list2 = new ArrayList();
        list2.add("b");

        List 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);

    }
}

该程序的输出与示例1相同。

在上面的程序中,我们使用Streamconcat()方法来连接转换为流的两个列表。然后,我们使用toList()将它们转换回List。