List的add方法與addAll方法的區別
add是將傳入的引數作為當前List中的一個Item儲存,即使你傳入一個List也只會另當前的List增加1個元素
addAll是傳入一個List,將此List中的所有元素加入到當前List中,也就是當前List會增加的元素個數為傳入的List的大小
即addAll(Collection c)
add(int index,Elelemt e)
--------------------------------------
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
當需要把多個List 例項放到一起的時候,要使用List.addAll()方法。
add是將傳入的引數作為當前List中的一個Item儲存,即使你傳入一個List也只會另當前的List增加1個元素
addAll是傳入一個List,將此List中的所有元素加入到當前List中,也就是當前List會增加的元素個數為傳入的List的大小
即addAll(Collection c)
add(int index,Elelemt e)
--------------------------------------
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
當需要把多個List 例項放到一起的時候,要使用List.addAll()方法。