Java HashMap
HashMap
HashMap實(shí)現(xiàn)了Map接口,同時(shí)繼承于AbstractMap類。它利用哈希值來存儲(chǔ)數(shù)據(jù),不允許重 復(fù)的鍵出現(xiàn),但允許有null值和建,最多只允許一個(gè)為null的鍵(這也是因?yàn)镠ashMap鍵不能重 復(fù))。HashMap因?yàn)槭褂昧斯1?,所以?duì)其中的映射關(guān)系具有很快的訪問速度。HashMap類不保 證存人鍵值對(duì)映射關(guān)系的順序,而且它的順序可能會(huì)發(fā)生變化。
使用時(shí)通常將變量類型聲明為Map類型,可以通過具體的實(shí)現(xiàn)類來定義不同對(duì)象的具體實(shí)例化 類型。
動(dòng)手寫1
Map<String, String〉simpleMap = new HashMap<>();
Map<Slring, Map<Slring, Sli'ing? complexMap = new HashMap<>0;
Map<Map<String, String>,String>otherComplexMap = new HashMap<>0;
上述代碼中,第一個(gè)指定聲明了鍵值都是String類型的Map集合;第二個(gè)指定聲明了一個(gè)Map集 合,key為String類型,映射的值也是Map集合;第三個(gè)指定聲明了一個(gè)Map集合,key為一個(gè)Map集 合對(duì)象,值為Siring類型。
package zuixu.comn;
import java.util.List;
import java.util.Map;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
//ArrayList中g(shù)et()和set()方法的使用
public class TrigonometricMethod {
public static void main(String[] args) {
Map<String, String>hashMap = new HashMap<>();
hashMap.put("小明","11歲");
hashMap.put("小張","22歲");
hashMap.put("小劉","23歲");
//使用key集合遍歷
System.out.println("通過Map.keySet遍歷key和value:");
for (String key : hashMap.keySet()) {
System.out.println("key= " + key + "and value= " +hashMap.get(key));
}
//使用Map.Entry的迭代器遍歷
System.out.println("通過Map.entrySet使用iterator遍歷key和value:");
Iterator<Map.Entry<String,String>>it = hashMap.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String>entry = it.next();
System.out.println("key="+entry.getKey()+"and value=" + entry.getValue());
}
}
}
點(diǎn)擊加載更多評(píng)論>>