java - 连接数组列表

标签 java arraylist concatenation

你能以某种方式将两个数组列表连接到第三个吗? 我知道当你有(如下)时你可以做到:

ArrayList<String>arraylist1 = new ArrayList<>();
    ArrayList<String>arraylist2 = new ArrayList<>();

    ArrayList<String>al = new ArrayList<>();
    al.addAll(arraylist1);
    al.addAll(arraylist2);

但是如果你在不同的构造函数中有数组列表,你该怎么做呢?:

ArrayList<People>arraylist1 = new ArrayList<>();
ArrayList<Billing>arraylist2 =new ArrayList<>();

最佳答案

方法addAllCollection<E>有签名

public boolean addAll(Collection<? extends E> c)

这里的通配符( ? )意味着它足够通用,可以接受 E 任何子类型的任何集合。 。

这意味着,如果您的第三个列表的元素类型是两个原始列表类型的公共(public)父类(super class)型(Object 将始终有效),您就可以做到这一点。

例如,打印 [X, Y, 1, 2, 3] .

List<String> list1 = Arrays.asList("X", "Y");
List<Integer> list2 = Arrays.asList(1, 2, 3);
List<Object> list3 = new ArrayList<>();
list3.addAll(list1);
list3.addAll(list2);
System.out.println(list3);

但是,通常最好尽量避免以这种方式使用混合类型的集合。

关于java - 连接数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33761136/

相关文章:

java - 在Scala中使用泛型实现Java接口(interface),并返回null

java.lang.NullPointerException 使用方法引用而不是 lambda 表达式引发

java - 使用 HashMap 或类似的东西来存储对象列表

python - pandas - 通过重复值连接列

php 字符串连接,性能

Mysql: LIKE CONCAT Replacement --> less performance heavy

java - 如何使 JTable 中的单元格为空,直到单击为止?

java - 如何使用命令行源安装 Maven Artifact ?

java - 从字符串中返回两个子字符串

java - 带条件获取数组列表的最后一个索引