#集合就是物件導向可重複使用性的體現,一般地,我們把研究對象統稱為元素;把一些元素組成的總體叫做集合,也簡稱集。
#(1)確定性:設A為給定的集合,x是某一個具體對象,則或者是A的元素,或者不是A的元素,兩種情況必有一種且只有一種成立. (2)互異性:一個給定集合中的元素,指屬於這個集合的互不相同的個體(對象),因此,同一集合中不應重複出現同一元素. (3)無序性:一般不考慮元素之間的順序,但在表示數列之類的特殊集合時,通常會依照習慣的由小到大的數軸順序書寫
##ArrayList 實作方法:陣列實作 版本:1.2 時間:98年12月發布輕量級(運作快) 執行緒不安全感(常用)
Vector 實作方法:陣列實作 版本:1.0 時間:95年5月發佈 重量級(運轉慢) 執行緒安全性
LinkedList 實作方法: 鍊錶實作
#LinkedList 實作方法: 鍊錶實作 #LinkedList 實作方法: 鍊錶實作
#LinkedList 實作方法: 鍊錶實作
##數組:空間連續 查詢速度快 直接訪問下標 增加刪除慢增刪需要將後面的數據向後移或向前移
Vector實現類別Stack 堆疊LIFO(Last In First Out)查詢少增刪多
#3.如何用java實作一個堆疊
#a.陣列 b.LinkedList c.Stack類別#用LinkedList,為什麼不用Stack實作類別呢因為Stack繼承錯誤的繼承了Vector Vector提供了add方法,但堆疊只能pop和push無法從中間插入,讓堆疊不夠安全。 Stack繼承了Vector讓Statck存在很多不應該存在的方法。
1 //用java创建一个栈 2 public class AStack { 3 public static void main(String[] args) { 4 Stacks s = new Stacks(); 5 s.push("lin"); 6 s.push("hello"); 7 s.push("hou"); 8 s.push(123); 9 System.out.println(s.pop());10 System.out.println(s.pop());11 System.out.println(s.pop());12 System.out.println(s.pop());13 }14 }15 class Stacks{16 //变继承复用为主核复用17 private LinkedList list = new LinkedList();18 public void push(Object o){19 list.addFirst(o);20 }21 public Object pop(){22 Object o = list.removeFirst();23 return o;24 }25 }
特點:key 內容唯一不可重複key所對應的
##value是可重複的無序用法:透過key找value
範例:字典單字-解釋
網站使用者名稱-密碼
# 主要方法:
1.put(Object k,Object v):把k-v這個鍵值對放入Map 若k已存在那麼新v會取代舊v
2.get(Object k):傳回Map中k對應的v
#3.remove(Objeck k):刪除k所在的鍵值對4.containsKey(Object k):判斷Map中是否有K存在
5.containsValue(Object v):判斷Map中是否有v存在
#Map3種的遍歷
################################## #######1.值遍歷############1 Collection c = map.values();2 Iterator i = c.iterator();3 while(i.hasNext()){4 System.out.println(i.next());5 }
1 Set s = map.keySet();2 Iterator i = s.iterator();3 while(i.hasNext()){4 Object k = i.next();5 Object v = map.get(k);6 System.out.println(k+"+++"+v);7 }
1 Set set = map.entrySet();2 Iterator i = set.iterator();3 while(i.hasNext()){4 Map.Entry me = (Map.Entry)i.next();5 System.out.println(me.getKey());6 System.out.println(me.getValue());7 }
實作類別:
1.HashMap :1.2 允許用null當key或value
#2.Hashtable :1.0 不允許null當key或value
3.Properties:Hashtable的子類別key和value都是String 一般用於設定檔的讀取
4.TreeMap:實作了SortcdMap(Map的子介面)自動對key排序
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------ 以上有寫的不對的歡迎大神指點錯誤,有想交流的請發郵件到我的郵箱1206835721@qq.com
以上是集合常用實作類別有什麼差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!