面阿里的時候,面試就讓我說一下集合 當時因爲條件緣由沒聽清面試官的問題,後來面試後,面試官讓問他問題的時候,才說明白是什麼面試
下面就接受一下我瞭解的集合類數組
集合類中大體能夠分爲兩個體系安全
1、collection體系: 單一對象存取,即每一個元素存儲單元內只存儲一個對象實例;數據結構
2、map體系:雙對象存取即每一個元素所佔存儲單元內存儲兩個對象實例(key-value)的形式。線程
下面將一一介紹collection系和map系的結構。對象
1、collction:blog
他是一個集合接口,它提供了對集合對象進行基本操做的通用接口方法。實現該接口的類主要有set和list.排序
list---ArrayList索引
Vector接口
LinkedList
set---TreeSet
HashSet
2、map
hashmap
treemap
hashtable
1、集合的使用步驟:
A、建立集合對象
B、建立元素對象
C、把元素添加到集合
D、遍歷集合:a、經過集合對象獲取迭代器對象
b、經過迭代器Iterator對象的hasNext()方法判斷是否有元素
c、經過迭代器對象的next()方法獲取元素並移動到下一個位置
2、list和set的比較
List:用戶可根據索引訪問元素,並搜索列表中的元素。元素有序,可重複
Set:元素無序,且可重複
3、list的三個子類的特色
ArrayList:底層數據結構是數組,查詢快,增刪慢,線程不安全,效率高
Vector:底層數據結構是數組,查詢快,增刪慢,線程安全,效率慢
Linkedlist:底層數據結構是鏈表,查詢慢,增刪快,線程不安全,效率高
4、set的兩個子類特色
HashSet:其底層結構是HashMap
TreeSet:其底層結構是TreeMap和NavigableSet,其中NavigableSet是一個接口,TreeMap是其子實現類。
它能夠使用元素的天然順序進行排序,或者根據建立set時的Comparator 即比較器排序。