深入理解Java集合

概括

1. 關係

在這裏插入圖片描述

2. 要點

  • Collection

    • List

      • ArrayList: 底層數據結構是數組,查詢快,增刪慢;線程不安全,效率高;
      • Vector: 底層數據結構是數組,查詢快,增刪慢;線程安全,效率低(幾乎不會使用);
      • LinkedList: 底層數據結構是鏈表,查詢慢,增刪快;線程不安全,效率高;
    • Set

      • HashSet:
        1. 不能保證元素順序,不可重複,不是線程安全,元素可以爲null;
        2. 底層其實是一個數組,爲了加快查詢速度。索引就是通過hash值轉換,即index=hash(hashCode);
      • LinkedHashSet:不可重複,有序;
      • TreeSet: 有序,不可重複,底層使用紅黑樹算法,擅長範圍查詢;

      注:實現線程安全的方法: Set set = Collections.synchronizedSet(setObj);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章