請注意這裡返回的list是arrays的靜態內部類
private
static
class
arraylist
extends
abstractlist
implements
randomaccess, serializable
複製**
它是unmodified(不可修改的),傳輸時可能會導致序列化錯誤(如果你使用了諸如kryo等序列化框架),如果希望獲得的集合是可修改的,最好的做法是這樣
listarglist = new arraylist(arrays.aslist(args));
複製**
集合並不僅僅是陣列的拓展,要明白陣列與集合的區別需要弄清楚順序 和位置 的不同,隨機訪問時,對於陣列是基於位置訪問,對集合時基於順序的 乙個最淺顯的例子,從集合中移除乙個元素後,訪問下乙個元素下標不需要變化
public
inte***ce
iterator
default
void
foreachremaining
(consumer<? super e> var1)
}}複製**
iterator.remove()支援從源集合中安全地刪除物件
iterator 支援派生的兄弟成員。listiterator,只存在於 list 中,支援在迭代期間向 list 中新增或刪除元素,並且可以在 list 中雙向滾動
public
inte***ce
listiterator
extends
iterator
複製**
public
inte***ce
iterable }
default spliteratorspliterator()}
複製**
這裡原作者使用了乙個封裝檔案讀取的例子,很有意思
盡量不要用物件當做key欄位,或者確保存入後不會進行修改
摘取一段**
public class usingsortedset
});ss.addall(perons);
system.out.println(ss);
}}複製**
最終獲得的set只有三個元素,因為compare==0時即表示兩個物件相同 並且簡單的宣告兩者相等還不夠,因為以排序為目的的比較不同於以相等性為目的的比較:可以想象一下按姓排序時兩個 person 相等,但是其內容卻並不相同。
ibm你不知道的5件事系列:www.ibm.com/developerwo…
JAVA集合相關基礎知識
1 collection 是集合的頂層結構,定義了集合的共性功能。1.1 成員方法 a 新增功能 boolean add object obj 往集合中新增乙個元素 boolean addall collection c 往集合中新增多個元素 b 刪除功能 void clear 清空所有元素 boo...
集合類的相關知識
set集合類似乙個罐子,一旦把物件丟進set集合,集合裡多個物件之間沒有明顯的順序。set集合裡面不允許包含相同的元素,如果試圖把兩個相同元素加入到乙個set中,則新增操作失敗,add方法返回false,且新元素不會被加入。set集合判斷兩個物件是不是相同是根據equals方法,也就是說兩個物件的e...
Map集合相關知識
1 map集合 map集合區別於collection集合,是它是以鍵值對 key value 儲存資料。可以儲存一對物件,即可以儲存兩個物件,而且這兩個物件是key value結構的,就是這個兩個物件是有對映關係的。這種結構的最大的好處,就是可以根據key找到關聯的value值。map介面的定義 p...