java中的Collection框架表示的是集合,須要管理多個對象時能夠使用Collection中的類,框架分爲3層java
1. 接口 2. 抽象類 3. 實際使用中的類數組
java集合有6大接口安全
1. 最基本的是Collection接口數據結構
2. 而後是Set,List,SortedSet接口,繼承於Collection接口框架
3. 兩外的Map和SortedMap接口,其實準確而言是映射,而不是集合工具
Collections是集合類的一個工具類,或者說是幫助類,不能實例化,封裝了一系列的static方法,能夠直接拿來調用,還能夠控制線程安全等操做。spa
List:鏈表,元素是有序排列的線程
Collection(接口)——List(接口,能夠直接拿來使用)——Vector——Stack(棧,經常使用的數據結構)對象
Collection(接口)——List(接口,能夠直接拿來使用)——ArrayList(其實就是一個動態的數組,能夠方便查找)排序
Collection(接口)——List(接口,能夠直接拿來使用)——LinkedList(是一個雙向的鏈表)
Stack<Integer> st = new Stack<Integer>();
st.push(int);
st.pop(); //返回棧頂並刪除元素
st.peak(); //返回棧頂元素,可是不刪除
st.isEmpty(); //判斷棧是否爲空
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(int);
list.get(index); //返回某個index對應的值
list.size(); //返回鏈表的長度
Queue<Integer> q = new LinkedList<Integer>(); //java中queue是一個接口,所以須要其餘實現接口的類來代替
q.offer(int); //近隊列
q.poll(); //出隊列
q.peek(); //隊列頭部數據
q.isEmpty(); //判斷隊列是否爲空
Set:集合中的元素不容許重複,方法與Collection徹底相同,接口基本一致
Collection(接口)——Set(接口)——HashSet(類)
Collection(接口)——Set(接口)——HashSet(類)——LinkedHashSet(類)
Collection(接口)——Set(接口)——SortedSet(接口)——TreeSet(排序類)
Set的實現其實基礎是Map(HashMap),元素不能重複,重複的話會自動覆蓋前面的對象
Map:每一個元素包含兩個部分,鍵(Key)和值(Value),同一個Map中不容許使用相同的鍵,但能夠只用相同的值
Map(接口)——HashMap(最經常使用,key值不容許重複,不然會被覆蓋。非synchronized的,隨着時間推移,元素次序可能會變,容許null鍵和null值)
Map(接口)——HashTable(比較過期,同步的)
Map(接口)——WeakHashMap
HashMap hm = new HashMap();
hm.containsKey(key);
hm.put(key,value);