java——Collection框架,Collections


java中的Collection框架表示的是集合,需要管理多個對象時可以使用Collection中的類,框架分為3層

1. 接口  2. 抽象類  3. 實際使用中的類

java集合有6大接口

1. 最基本的是Collection接口

2. 然后是Set,List,SortedSet接口,繼承於Collection接口

3. 兩外的Map和SortedMap接口,其實准確而言是映射,而不是集合

 

Collections是集合類的一個工具類,或者說是幫助類,不能實例化,封裝了一系列的static方法,可以直接拿來調用,還可以控制線程安全等操作。

 

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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM