Collection集合

開發(fā)中經(jīng)常會用到數(shù)組跟集合,數(shù)組的長度是固定的,集合的長度是可變的。數(shù)組中只能放同一種類型的元素,集合存儲的都是對象,類型可以不一致。


單列集合?java.util.Collection

雙列集合 java.util.Map


Collections工具類常用方法:

1. addAll方法的作用:將數(shù)組的元素全部添加指定的集合中

2. shuffle方法的作用:對集合元素亂序

3. sort方法的作用:對集合元素進行排序:默認 升序

1. List集合常用方法

public void add(int index, E element)指定位置添加元素

public E get(int index) 獲得指定位置的元素

public E remove(int index)? 刪除指定位置的元素,返回被刪除的元素

public E set(int index,E element) 修改指定位置的元素為新元素element

1. LinkedList集合底層結(jié)構(gòu)和特點

?* 有序,有索引,可重復(fù)

?* 底層結(jié)構(gòu):鏈表(查詢慢,增刪快)

2. LinkedList源碼分析

無參數(shù)構(gòu)造方法源碼分析:沒什么也沒發(fā)生

每次根據(jù)索引獲取元素時都會執(zhí)行遍歷操作,要么從頭開始遍歷要么從尾部開始遍歷

如果索引值小于元素個數(shù)的一半,則從頭開始遍歷查找

如果索引值大于等于元素個數(shù)的一半,則從尾部開始遍歷查找

LinkedList集合特有方法

public void addFirst(E e) :

public void addLast(E e) :

public E getFirst() :

public E getLast() :

public E removeFirst() :

public E removeLast() :

1. Set集合的特點:無序(存取順序不一致),無索引,元素不可重復(fù)

2. Set集合常用子類

HashSet

LinkeHashSet

1. HashSet集合的特點和底層結(jié)構(gòu)

* 特點:無序,無索引,元素不可重復(fù)

* 底層結(jié)構(gòu):哈希表(數(shù)組和鏈表的結(jié)合體)

2. HashSet集合遍歷方式

* 迭代器和增強for

?從HashSet集合中獲取元素:只能采用遍歷方式獲取

LinkedHashSet的特點和結(jié)構(gòu)

* 特點:無索引,元素不可重復(fù)

* 底層結(jié)構(gòu):哈希表(數(shù)組和鏈表的結(jié)合體)+鏈表

* 繼承HashSet:能夠保證存取順序一致

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容