java持有對象-集合類

面阿里的時候,面試就讓我說一下集合 當時因爲條件緣由沒聽清面試官的問題,後來面試後,面試官讓問他問題的時候,才說明白是什麼面試

下面就接受一下我瞭解的集合類數組

集合類中大體能夠分爲兩個體系安全

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 即比較器排序。

相關文章
相關標籤/搜索