连接多个ArrayLists

时间:2014-04-01 17:05:21

标签: java list collections arraylist

是否有一种方法可以连接多个ArrayLists

例如:

ArrayList<Integer> a
ArrayList<Integer> b
ArrayList<Integer> c

ArrayList<Integer> d = a + b + c

其中d是单个ArrayList<Integer>,其中包含保留订单中a,b,c的所有值

3 个答案:

答案 0 :(得分:6)

使用addAll()方法

d.addAll(a);
d.addAll(b);
d.addAll(c);

答案 1 :(得分:2)

集合框架的一个不幸的方面是没有内置列表代数,但像Guava这样的东西可以提供类似于你想要的类型的运算符的方法。直接的java运行时库代码看起来像

List< Integer > d = new ArrayList<>( a );
d.addAll( b );
d.addAll( c );

答案 2 :(得分:2)

addAll方法和ArrayList构造函数可以解决这个问题。 (Java中没有运算符覆盖)

ArrayList<Integer> d = new ArrayList<Integer>(a);
d.addAll(b);
d.addAll(c);

请注意,您可以将所有变量声明为ListCollection,这是一种更好的做法。这样您就可以将ArrayList作为Collection实现。

Collection<Integer> d = new ArrayList<Integer>(a);