list的add 方法與addAll 方法簡介

2022-05-10 21:27:16 字數 1050 閱讀 9340

簡單描述:月讀別人的**,發現了乙個有意思的東西,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

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

add是將傳入的引數作為當前list中的乙個item儲存,即使你傳入乙個list也只會另當前的list增加1個元素 addall是傳入乙個list,將此list中的所有元素加入到當前list中,也就是當前list會增加的元素個數為傳入的list的大小 即addall collection c add...

關於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類,...