vector:用arraylist代替vector。
hashtable:用hashmap代替hashtable。
satck:用linkedlist代替stack。
properties
hashtable和hashmap的區別:
1.hashtable是dictionary的子類,hashmap是map介面的乙個實現類;
2.hashtable中的方法是同步的,而hashmap中的方法在預設情況下是非同步的。即是說,在多執行緒應用程式中,不用專門的操作就安全地可以使用hashtable了;而對於hashmap,則需要額外的同步機制。但hashmap的同步問題可通過collections的乙個靜態方法得到解決:
map collections.synchronizedmap(map m)
這個方法返回乙個同步的map,這個map封裝了底層的hashmap的所有方法,使得底層的hashmap即使是在多執行緒的環境中也是安全的。
3.在hashmap中,null可以作為鍵,這樣的鍵只有乙個;可以有乙個或多個鍵所對應的值為null。當get()方法返回null值時,即可以表示hashmap中沒有該鍵,也可以表示該鍵所對應的值為null。因此,在hashmap中不能由get()方法來判斷hashmap中是否存在某個鍵,而應該用containskey()方法來判斷。
hashmap/treemap 都是執行緒不安全的
vector 是執行緒安全的
JAVA集合類總結
所有的集合類都是先iterator介面,意味著所有的集合類都是可以迭代輸出的。以collection為介面的元素集合型別,以map為介面的對映集合型別 所有集合的實現類都不是直接實現集合類介面,而是都繼承乙個相應的抽象類。list list介面提供了多個實現的子類,其實現類有arraylist,li...
Java集合類自己總結
以下是常用子介面 arraylist01 public class arraylistdemo01 arraylist02 public class arraylistdemo02 arraylist03 public class arraylistdemo03 system.out.print n...
Java集合類的總結
集合類庫考慮到 容納自己物件 的問題,並將其分割成兩個明確的概念 1 集合 collection 一組單獨的元素。乙個list 列表 必須按特定的順序容納元素,而乙個set 集 不可包含任何重複的元素。2 對映 map 一系列 鍵 值 對,如雜湊表身上的充分體現。map可以和陣列一樣,擴充到多維,可...