java集合相關的小知識

2021-09-11 15:03:00 字數 1398 閱讀 5148

請注意這裡返回的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...