两个ArrayList 如何合并到一个?

时间:2021-10-21 19:56:38

如何将ArrayList<String> a和ArrayList<String> b
合并到ArrayList<String> c中?


21 个解决方案

#1


a.addAll(b)?

#2


哦 或者可以这样

ArrayList <String> c=(ArrayList<String> )a.clone;
c.addAll(b);

#3


addAll

#4


引用 2 楼 knightzhuwei 的回复:
哦 或者可以这样
Java code
ArrayList<String> c=(ArrayList<String> )a.clone;
c.addAll(b);



addAll就好了,对String而言,这样完全是多余的。

#5


引用 4 楼 mybeautiful 的回复:
引用 2 楼 knightzhuwei 的回复:
 哦 或者可以这样
 Java code
 ArrayList <String> c=(ArrayList <String> )a.clone;
 c.addAll(b);



 addAll就好了,对String而言,这样完全是多余的。

这样是简单,但是新弄出来的就是a或者b的一个,而不是一个新的ArrayList c了,就看楼主想要什么样的效果了

#6


addAll
public boolean addAll(int index,
                      Collection<? extends E> c)从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。向右移动当前位于该位置的元素(如果有)以及所有后续元素(增加其索引)。新元素将按照指定 collection 的迭代器所返回的元素顺序出现在列表中。 

指定者:
接口 List<E> 中的 addAll
覆盖:
类 AbstractList<E> 中的 addAll
参数:
index - 插入指定 collection 中的首个元素的位置索引
c - 包含要添加到此列表中元素的 collection 
返回:
如果此列表由于调用而发生更改,则返回 true 
抛出: 
IndexOutOfBoundsException - 如果索引超出范围 (index < 0 || index > size()) 
NullPointerException - 如果指定的 collection 为 null

#7


addAll 就可以了 !

#8


可以建3个arraylist,c addall两次,如有需要在用迭代器排序

#9


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

#10


看情况了,如果你要保留原来的对象a和b,推荐2或者9。
如果不需要,对a或者b调用addAll(b)或者addAll(a),然后新的a或者b就是你想要的。

#11


引用 9 楼 yangkaixin1226 的回复:
c.addAll(a);
 c.addAll(b);


UP

#12


引用 11 楼 xuhuanchao 的回复:
引用 9 楼 yangkaixin1226 的回复:
c.addAll(a);
c.addAll(b);

 就这个简单

#13


addAll的却很好用

#14


  用addAll是最简单的

#15


list.addAll(another list)

#16


addAll,具体查阅api

#17


c.addAll(b)
很好用,很爽!

#18


发现弄java两年了  api都没仔细看过 

#19


引用 10 楼 focusforce 的回复:
看情况了,如果你要保留原来的对象a和b,推荐2或者9。
如果不需要,对a或者b调用addAll(b)或者addAll(a),然后新的a或者b就是你想要的。


看LZ想要的效果,这里两种都有了。

#20


got it

#21


addAll,好像是这个吧

#1


a.addAll(b)?

#2


哦 或者可以这样

ArrayList <String> c=(ArrayList<String> )a.clone;
c.addAll(b);

#3


addAll

#4


引用 2 楼 knightzhuwei 的回复:
哦 或者可以这样
Java code
ArrayList<String> c=(ArrayList<String> )a.clone;
c.addAll(b);



addAll就好了,对String而言,这样完全是多余的。

#5


引用 4 楼 mybeautiful 的回复:
引用 2 楼 knightzhuwei 的回复:
 哦 或者可以这样
 Java code
 ArrayList <String> c=(ArrayList <String> )a.clone;
 c.addAll(b);



 addAll就好了,对String而言,这样完全是多余的。

这样是简单,但是新弄出来的就是a或者b的一个,而不是一个新的ArrayList c了,就看楼主想要什么样的效果了

#6


addAll
public boolean addAll(int index,
                      Collection<? extends E> c)从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。向右移动当前位于该位置的元素(如果有)以及所有后续元素(增加其索引)。新元素将按照指定 collection 的迭代器所返回的元素顺序出现在列表中。 

指定者:
接口 List<E> 中的 addAll
覆盖:
类 AbstractList<E> 中的 addAll
参数:
index - 插入指定 collection 中的首个元素的位置索引
c - 包含要添加到此列表中元素的 collection 
返回:
如果此列表由于调用而发生更改,则返回 true 
抛出: 
IndexOutOfBoundsException - 如果索引超出范围 (index < 0 || index > size()) 
NullPointerException - 如果指定的 collection 为 null

#7


addAll 就可以了 !

#8


可以建3个arraylist,c addall两次,如有需要在用迭代器排序

#9


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

#10


看情况了,如果你要保留原来的对象a和b,推荐2或者9。
如果不需要,对a或者b调用addAll(b)或者addAll(a),然后新的a或者b就是你想要的。

#11


引用 9 楼 yangkaixin1226 的回复:
c.addAll(a);
 c.addAll(b);


UP

#12


引用 11 楼 xuhuanchao 的回复:
引用 9 楼 yangkaixin1226 的回复:
c.addAll(a);
c.addAll(b);

 就这个简单

#13


addAll的却很好用

#14


  用addAll是最简单的

#15


list.addAll(another list)

#16


addAll,具体查阅api

#17


c.addAll(b)
很好用,很爽!

#18


发现弄java两年了  api都没仔细看过 

#19


引用 10 楼 focusforce 的回复:
看情况了,如果你要保留原来的对象a和b,推荐2或者9。
如果不需要,对a或者b调用addAll(b)或者addAll(a),然后新的a或者b就是你想要的。


看LZ想要的效果,这里两种都有了。

#20


got it

#21


addAll,好像是这个吧