List的add方法與addAll方法的區別

2022-06-11 16:12:15 字數 1792 閱讀 4623

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()方法。

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()方法。

關於arrayList的add和addall

如果連線2個arraylist,比如a和b,如果直接寫a.addall b 有可能連線不上,最常見的方法是定義乙個新的arraylist c,再c.addall a 和c.addall b arraylist是乙個實現可變長陣列,繼承abstractlist類,實現所有的list介面,還實現了ran...

關於arrayList的add和addall

花了一周時間,重構了系統中最重要的一段下發列印邏輯的 理清了各型別間的呼叫關係,得意之際,測試告訴 資料異常了,花了5個小時的測試,終於發現了問題,用錯了arraylist的addall方法,下面列舉下add和addall方法。arraylist是乙個實現可變長陣列,繼承abstractlist類,...

list的add 方法與addAll 方法簡介

簡單描述 月讀別人的 發現了乙個有意思的東西,list的乙個方法,addall 然後就去度娘了一下,發現這個還挺有用的。吐槽一下 為什麼自己沒發現這個方法呢?因為平時自己寫list的時候,基本上都是手敲上去的list.add 提示都沒有仔細看,其實這是個挺壞的習慣,因為 提示會給出相關的方法,對於自...