list的add()方法与addAll()方法简介

简单描述:月读别人的代码,发现了一个有意思的东西,list的一个方法,addAll(),然后就去度娘了一下,发现这个还挺有用的。

吐槽一下:为什么自己没发现这个方法呢?因为平时自己写list的时候,基本上都是手敲上去的list.add(),代码提示都没有仔细看,其实这是个挺坏的习惯,因为代码提示会给出相关的方法,对于自己没用过的方法,完全可以自己去查资料,或者亲自实践一下,调用这个方法,从而学到一些新的东西。

正经的:

add()是将传入的参数作为当前List中的一个item元素存储,即使你传入一个ListOne也只会使当前的List增加1个元素(该元素就是listOne)

addAll()是传入一个List,将此List中的所有元素加入到当前List中,也就是当前List会增加的元素个数为传入的List的大小

addAll(Collection c)

此方法按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。如果正在进行此操作时修改指定的 collection ,那么此操作的行为是不确定的。(这意味着如果指定的 collection是此列表且此列表是非空的,那么此调用的行为是不确定的)。

C

包含要添加到此列表中的元素的 collection

return

如果此列表由于调用而发生更改,则返回 true

Throws

NullPointerException: 如果指定的 collection 为 null

 

eg:

Collection result = new ArrayList(); 
Collection list = new ArrayList();

......

分析: 

result.addAll(list);//把list中的每一个元素加到result中,result.size()==list.size()

result.add(list);//将list作为一个元素加到result中,则result.size()为1

大佬链接:https://www.cnblogs.com/wudage/p/6878096.html

posted @ 2018-10-10 10:20  ジ绯色月下ぎ  阅读(6496)  评论(0编辑  收藏  举报