1. 程式人生 > >Java集合類分析,初始化

Java集合類分析,初始化

Java集合是常用的資料型別,在此詳細分析介面和實現類。整個集合框架就圍繞一組標準介面而設計,學習集合框架有助開發實踐。

框架體系圖

1.Collection 介面
Collection 是最基本的集合介面,一個 Collection 代表一組 Object,即 Collection 的元素, Java不提供直接繼承自Collection的類,只提供繼承於的子介面(如List和set)。Collection 介面儲存一組不唯一,無序的物件。

2.List 介面
List介面是一個有序的 Collection,使用此介面能夠精確的控制每個元素插入的位置,能夠通過索引(元素在List中位置,類似於陣列的下標)來訪問List中的元素,第一個元素的索引為 0,而且允許有相同的元素。List 介面儲存一組不唯一,有序(插入順序)的物件。

3.Set
Set 具有與 Collection 完全一樣的介面,只是行為上不同,Set 不儲存重複的元素。Set 介面儲存一組唯一,無序的物件。

4.SortedSet 
繼承於Set儲存有序的集合。
5.Map
Map 介面儲存一組鍵值物件,提供key(鍵)到value(值)的對映。

6.Map.Entry 
描述在一個Map中的一個元素(鍵/值對)。是一個Map的內部類。

7.SortedMap
繼承於 Map,使 Key 保持在升序排列。

8.Enumeration
這是一個傳統的介面和定義的方法,通過它可以列舉(一次獲得一個)物件集合中的元素。這個傳統介面已被迭代器取代。

Set和List的區別:
  1. Set 介面例項儲存的是無序的,不重複的資料。List 介面例項儲存的是有序的,可以重複的元素。
  2. Set檢索效率低下,刪除和插入效率高,插入和刪除不會引起元素位置改變 <實現類有HashSet,TreeSet>。
  3. List和陣列類似,可以動態增長,根據實際儲存的資料的長度自動增長List的長度。查詢元素效率高,插入刪除效率低,因為會引起其他元素位置改變 <實現類有ArrayList,LinkedList,Vector> 。

集合初始化設值:

        int[] ints = new int[] {1, 2, 3, 4, 5, 6};
        Integer[] integers = new Integer[] {1, 2, 3, 4, 5, 6};
        List<String> list = new ArrayList<String>()
        {{
            add("abc");
            add("def");
        }};

        Map<String, Object> map = new HashMap<String, Object>()
        {{
            put("abc", "def");
            put("", "");
        }};
        Set<String> set = new HashSet<String>()
        {{
            add("abc");
            add("def");
        }};
        Queue<String> queue = new LinkedBlockingQueue<String>()
        {{
            add("abc");
            add("def");
        }};

 

備註:
作者:Shengming Zeng
部落格:http://www.cnblogs.com/zengming/ https://blog.csdn.net/Z645817
嚴正宣告:
1.由於本部落格部分資源來自網際網路,版權均歸原作者所有。轉載的目的是用於學術交流與討論學習,將不對任何資源負法律責任。
2.若無意中侵犯到您的版權利益,請來信聯絡我,我會在收到資訊後會儘快給予處理!
3.所有資源內容僅供學習交流之用,請勿用作商業用途,謝謝。
4.如有轉發請註明出處,來源於http://www.cnblogs.com/zengming/ https://blog.csdn.net/Z645817,謝謝合作。