Java集合系列-總體框架

佑闖發表於2015-06-15

作者:YouChuang
本文主要介紹Java集合的總體架構。



JDK中常用的jar包和對應的庫

這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述

Java的集合工具包架構圖

集合架構圖

主要是Collection介面和Map介面

Collection

一個高度抽象的介面
The JDK does not provide any direct implementations of this interface: it provides implementations of more specific subinterfaces like Set and List. This interface is typically used to pass collections around and manipulate them where maximum generality is desired.

List

有序佇列,索引+元素,索引從0開始

實現類
LinkedList
ArrayList
Vector
Stack

Set

不允許有重複元素的集合
實現類
HashSet,依賴於HashMap,並由HashMap實現,因為方法的實現都是呼叫的HashMap的方法

private transient HashMap<E,Object> map;
public HashSet() {
    map = new HashMap<>();
}
public int size() {
    return map.size();
}

TreeSet,依賴於TreeMap,由TreeMap實現

Map

對映介面,K-V鍵值對
AbstractMap為抽象類,實現了Map中的大多數API,
HashMap、TreeMap、WeakHashMap繼承於AbstractMap
HashTable繼承Dictionary,實現Map介面

Iterator

遍歷工具的集合,Collection依賴於Iterator,因為Collection的實現類都要實現Iterator()函式來返回一個Iterator物件
ListIterator專門遍歷List

Enumeration

遍歷集合,只能在HashTable、Vector、Stack中使用

Arrays和Collections

運算元組和集合的兩個工具類

參考:
http://www.cnblogs.com/skywang12345/p/3308498.html
http://blog.csdn.net/ns_code/article/details/35564663
JDK1.8.8_20

相關文章