遍歷方法代碼如下:

創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計,牡丹網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務涵蓋:牡丹等地區(qū)。牡丹做網(wǎng)站價格咨詢:18980820575
import?java.util.HashMap;
import?java.util.Map;
public?class?App01?{
public?static?void?main(String[]?args)?{
MapString,?String?map1?=?new?HashMapString,?String();
map1.put("A",?"ABC");
map1.put("B",?"BCD");
map1.put("C",?"CDE");
//?遍歷
for(Map.EntryString,?String?entry?:?map1.entrySet())?{
System.out.println(entry.getKey()?+?"-"?+?entry.getValue());
}
}
}
關(guān)于java中遍歷map具體有四種方式,請看下文詳解。
1、這是最常見的并且在大多數(shù)情況下也是最可取的遍歷方式,在鍵值都需要時使用。
MapInteger, Integer map = new?HashMapInteger, Integer();
for?(Map.EntryInteger, Integer entry : map.entrySet()) {
System.out.println("Key = "?+ entry.getKey() + ", Value = "?+ entry.getValue());
}
2、在for-each循環(huán)中遍歷keys或values。
如果只需要map中的鍵或者值,你可以通過keySet或values來實現(xiàn)遍歷,而不是用entrySet。
MapInteger, Integer map = new?HashMapInteger, Integer();
for?(Integer key : map.keySet()) {
System.out.println("Key = "?+ key);
}
for?(Integer value : map.values()) {
System.out.println("Value = "?+ value);
}
該方法比entrySet遍歷在性能上稍好(快了10%),而且代碼更加干凈。
3、使用Iterator遍歷
使用泛型:
MapInteger, Integer map = new?HashMapInteger, Integer();
IteratorMap.EntryInteger, Integer entries = map.entrySet().iterator();
while?(entries.hasNext()) {
Map.EntryInteger, Integer entry = entries.next();
System.out.println("Key = "?+ entry.getKey() + ", Value = "?+ entry.getValue());
}
不使用泛型:
Map map = new?HashMap();
Iterator entries = map.entrySet().iterator();
while?(entries.hasNext()) {
Map.Entry entry = (Map.Entry) entries.next();
Integer key = (Integer)entry.getKey();
Integer value = (Integer)entry.getValue();
System.out.println("Key = "?+ key + ", Value = "?+ value);
}
4、通過鍵找值遍歷(效率低)
MapInteger, Integer map = new?HashMapInteger, Integer();
for?(Integer key : map.keySet()) {
Integer value = map.get(key);
System.out.println("Key = "?+ key + ", Value = "?+ value);
}
假設(shè)Map中的鍵值對為1=11,2=22,3=33,現(xiàn)用方法1來遍歷Map代碼和調(diào)試結(jié)果如下:
擴展資料:
1、HashMap的重要參數(shù)
HashMap 的實例有兩個參數(shù)影響其性能:初始容量 和加載因子。容量是哈希表中桶的數(shù)量,初始容量只是哈希表在創(chuàng)建時的容量。
加載因子 是哈希表在其容量自動增加之前可以達到多滿的一種尺度。當哈希表中的條目數(shù)超出了加載因子與當前容量的乘積時,則要對該哈希表進行 rehash 操作(即重建內(nèi)部數(shù)據(jù)結(jié)構(gòu)),從而哈希表將具有大約兩倍的桶數(shù)。
在Java編程語言中,加載因子默認值為0.75,默認哈希表元為101。
2、HashMap的同步機制
注意,此實現(xiàn)不是同步的。 如果多個線程同時訪問一個哈希映射,而其中至少一個線程從結(jié)構(gòu)上修改了該映射,則它必須保持外部同步。
(結(jié)構(gòu)上的修改是指添加或刪除一個或多個映射關(guān)系的任何操作;以防止對映射進行意外的非同步訪問,如下:
Map m = Collections.synchronizedMap(new HashMap(...));
參考資料:百度百科-Hashmap
代碼如下:
import?java.util.HashMap;
import?java.util.Map;
public?class?App?{
public?static?void?main(String[]?args)?{
MapString,?Object?map?=?new?HashMap();
map.put("Name",?"Barry");
map.put("Gender",?"Male");
map.put("Age",?25);
//?第一種遍歷方式
for?(Map.EntryString,?Object?entry?:?map.entrySet())?{
System.out.println(entry.getKey()?+?"?=?"?+?entry.getValue());
}
//?第二種遍歷方式
map.forEach((key,?value)?-?{
System.out.println(key?+?"?=?"?+?value);
});
//?通過遍歷?key,然后再獲取?value
for?(String?key?:?map.keySet())?{
System.out.println(key?+?"?=?"?+?map.get(key));
}
//?單獨遍歷?values
for?(Object?value?:?map.values())?{
System.out.println(value);
}
}
}
分享題目:java中map遍歷代碼 java如何遍歷map
瀏覽路徑:http://chinadenli.net/article4/hijcie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、網(wǎng)站收錄、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站排名、電子商務、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)