集合知識(shí)點(diǎn)總結(jié)

一、集合的架構(gòu)
Collection(I):單列集合的根接口
List:有序的(可以使用索引值操作元素)元素可以重復(fù)
ArrayList(C):底層實(shí)現(xiàn)是數(shù)組 增刪慢 查詢塊
LinkedList(C):底層是鏈表 增刪快 隨機(jī)查詢慢
Set(I):無序的(不可以根據(jù)索引值操作元素) 元素不可以重復(fù)
HashSet(C):不能保證存入的順序和取出的順序一致
LinkedHashSet(C):有序的 可以保證存入的順序和取出的順序一致
TreeSet(C):有序的 可以對元素進(jìn)行排序
Map(I):雙列集合的根接口
HashMap(C):key-value key值不能重復(fù) 可以為null 可以使用key值獲取value值 一個(gè)鍵值對對應(yīng)一個(gè)entry
LinkedHashMap:可以保證存入和取出的順序
TreeMap(C):可以對key值排序
Iterator 迭代器
ListIterator List迭代器 只能操作list
特有的方法:hasPrevious() previous() 只有在先調(diào)用hasNext() next()之后才有效 add()方法 在迭代期間可以調(diào)用
二、Collection方法總覽
add(); 增加元素
renmove();刪除元素
clear():清空元素
contains() 包含元素
size() 集合長度
isEmpty() 是否為空
addAll() 將有一個(gè)集合全部增加到另外一個(gè)集合
removeAll()將一個(gè)集合在另外一個(gè)集合中全部移除
containsAll()判斷一個(gè)集合是否包含在另外一個(gè)集合
rettainAll()獲取兩個(gè)集合的交集
三、List方法總覽
List:
add(int index,E e); 增加元素
get(int index);獲取index上的元素
remove(int index);移除index上的元素
set(int index,E e);設(shè)置index上的元素
listIterator: ListIterator: add();
LinkedList 獨(dú)有方法
getFirst 獲取首元素
getLast 獲取尾元素
removeFirst 移除首元素
removeLast 移除尾元素
addFirst 增加首元素
addLast 增加尾元素
四、Map方法總覽
V put(K key,V value) 存數(shù)據(jù)
V remove(Object key) 移除數(shù)據(jù)
void clear() 清空集合
boolean containsKey(Object key) 判斷包含key
boolean containsValue(Object value) 判斷包含value
boolean isEmpty() 判斷是否為空
int size() 集合的長高度
V get(Object key) 獲取key
Set<K> keySet() 獲取key的集合
Collection<V> values() 獲取value的集合
Set<Map.Entry<K,V>> entrySet() 獲取鍵值對集合
五、TreeMap和TreeSet總結(jié)
TreeSet:

  1. 可以對集合中的元素進(jìn)行自然排序
  2. TreeSet中的元素必須實(shí)現(xiàn)Comparable接口 否則會(huì)拋出異常
  3. TreeSet可以通過構(gòu)造方法傳入一個(gè)Comparator比較器來定義新的比較規(guī)則
    TreeMap:
  4. TreeMap可以對鍵Key進(jìn)行自然排序
  5. TreeMap中實(shí)現(xiàn)Compare/ComparaTo返回值為0時(shí),會(huì)默認(rèn)是同一個(gè)元素,鍵Key不變,value值被替換
  6. TreeMap存放元素時(shí)鍵不要為null,會(huì)拋出異常

六、hashSet和TreeSet如何保證元素不重復(fù)的
hashSet: hasCode和equals
TreeSet: Compare/ComapraTo 如果返回值是0則會(huì)被認(rèn)為是同一個(gè)元素 后邊的值不會(huì)存入TreeSet中。

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

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

  • 一、基礎(chǔ)知識(shí):1、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機(jī)...
    殺小賊閱讀 2,570評論 0 4
  • 一、集合入門總結(jié) 集合框架: Java中的集合框架大類可分為Collection和Map;兩者的區(qū)別: 1、Col...
    程序員歐陽閱讀 11,815評論 2 61
  • Java集合框架 Java中封裝了許多常用的數(shù)據(jù)結(jié)構(gòu),稱為集合框架,可以有效組織數(shù)據(jù),提高程序性能。最初Java只...
    Steven1997閱讀 1,108評論 0 2
  • 有些人走著走著就散了,有些事看著看著就淡了,有多少無人能懂的不快樂,就有多少無能為力的不舍。 1 購物廣場,她正...
    清淺光陰閱讀 407評論 0 1
  • 今天,又想起了來的那天早上。一群年輕人擠在公交車上趕赴北京站的那段時(shí)間。 到北京西的時(shí)候是凌晨五點(diǎn),等伙伴們聚齊了...
    魏民閱讀 156評論 0 0

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