Java中的集合複習(1)

首先放一張部分基礎集合的繼承關係圖(Set和List)

外框爲虛線的表示接口,邊框爲實線的表示類;箭頭爲虛線的表示實現了接口,箭頭爲實線的表示繼承了類。

ArrayList:非線程安全,隨機訪問效率高,非尾部插入和刪除效率較低,如果在中間插入元素,之後所有元素都要後移。ArrayList擴容通過原始容量右移一位運算實現0.5倍擴容。

LinkedList:使用雙向鏈表數據結構實現,可以當隊列,也可以實現棧。

Vector:Java早期實現線程安全的集合,如果不需要線程安全,不建議使用,開銷較大。

HashSet:HashMap的實例,無序集合,默認容量16,每次擴充0.75倍。

TreeSet:實現了自動排序。

LinkedHashMap:按照元素的hashcode決定元素的存儲位置,但同時又使用鏈表來維護元素的次序,這樣使得它看起來像是按照插入順序保存的。

toArray():集合-->數組;

Arrays.asList():數組-->集合。

集合排序

1.實現Comparable接口,實現接口下的(int)compareTo(T o)方法,然後調用Array.sort()方法就可以排序;

2.java.util包下的Comparator接口。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章