位置:首頁 > 軟件操作教程 > 編程開發(fā) > Java > 問題詳情

Java HashMap

提問人:劉旭39發(fā)布時(shí)間:2020-11-27

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

}

}

}

5MP$LU9@@GRJY%VCVST@ZPI.png

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部