java基礎:13.9 集合框架 - 總結

線性表List

  1. 可以有重複元素。
  2. ArrayList 中數據存放的位置和我們添加數據的前後順序一樣。
  3. 如果需要通過下標隨機訪問元素,而不會在線性表起始位置插入或刪除元素,那麼ArrayList提供了最高效率的合集。如果需要在線性表的起始位置插入或刪除元素,就應該選擇LinkedList類。
  4. 除了包含用於訪問和修改向量的同步方法之外,Vector類和ArrayList類是一樣的。如果不需要同步,使用ArrayList比使用Vector效率更高。
  5. ArrayList ---- vs-------- LinkedList
    ArrayList
    1.插入/刪除數據速度慢。因爲要把插入點後所有對象移位。
    2.順序結構,可直接定位到某個位置的對象,定位速度快。
    LinkedList
    1.插入,刪除數據快。只要斷開插入點的連接,重新連接到別的塊就OK。
    2.鏈表結構,不可以直接定位到某個位置的對象,必須根據鏈表的方向一個一個找,定位速度慢。

 
集合set

  1. 集合(set)是一個用於存儲和處理無重複元素的高效數據結構。
  2. 集合的三個具體類:HashSet、LinkedHashSet、TreeSet。
  3. 在測試一個元素是否在集合或者線性表中時,集合比線性表更加高效。
  4. HastSet 中數據存放的位置和添加順序無關,和HashCode有關。
  5. HashSet: 無序
    LinkedHashSet: 按照插入順序
    TreeSet: 從小到大排序

 
 

映射表Map

  1. 映射表(map)類似於目錄,提供了使用鍵值快速查詢和獲取值得功能。不能有相同的鍵,每個鍵可以映射最多一個值。
  2. 可以使用三個具體的類來創建一個映射表:HashMap、LinkedHashMap和TreeMap。
  3. 對於定位一個值、插入一個條目以及刪除一個條目而言,HashMap類是高效的。
  4. TreeMap 類在遍歷排好順序的鍵時是很高效的。
  5. HashMap中條目的順序是隨機的,沒有順序;
    LinkedHashMap 支持映射表中的條目排序,條目可以按某種順序(插入順序、訪問順序)來獲取
    TreeMap中的條目是按鍵的升序排列的。
  6. HashMap 可以存放 null,不是線程安全的類
    Hashtable 不能存放null,是線程安全的類
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章