本文實例講述了Java實現Map集合遍歷的四種常見方式與用法。分享給大家供大家參考,具體如下:
~Map集合是鍵值對形式存儲值的,所以遍歷Map集合無非就是獲取鍵和值,根據實際需求,進行獲取鍵和值
1. 無非就是通過map.keySet()
獲取到值,然后根據鍵獲取到值
1
2
3
|
for (String s:map.keySet()){ System.out.println( "key : " +s+ " value : " +map.get(s)); } |
2. 通過Map.Entry(String,String)
獲取,然后使用entry.getKey()
獲取到鍵,通過entry.getValue()
獲取到值
1
2
3
|
for (Map.Entry<String, String> entry : map.entrySet()){ System.out.println( "鍵 key :" +entry.getKey()+ " 值value :" +entry.getValue()); } |
3. 其中通過Iterator也是為了最終獲得entry,所以理解其用法,可以很好的使用和掌握
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
package com.bie; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * @author BieHongLi * @version 創建時間:2017年2月25日 下午8:58:54 * */ public class MapTest01 { public static void main(String[] args) { Map<String, String> map= new HashMap<String, String>(); map.put( "張三1" , "男" ); map.put( "張三2" , "男" ); map.put( "張三3" , "男" ); map.put( "張三4" , "男" ); map.put( "張三5" , "男" ); //第一種遍歷map的方法,通過加強for循環map.keySet(),然后通過鍵key獲取到value值 for (String s:map.keySet()){ System.out.println( "key : " +s+ " value : " +map.get(s)); } System.out.println( "====================================" ); //第二種只遍歷鍵或者值,通過加強for循環 for (String s1:map.keySet()){ //遍歷map的鍵 System.out.println( "鍵key :" +s1); } for (String s2:map.values()){ //遍歷map的值 System.out.println( "值value :" +s2); } System.out.println( "====================================" ); //第三種方式Map.Entry<String, String>的加強for循環遍歷輸出鍵key和值value for (Map.Entry<String, String> entry : map.entrySet()){ System.out.println( "鍵 key :" +entry.getKey()+ " 值value :" +entry.getValue()); } System.out.println( "====================================" ); //第四種Iterator遍歷獲取,然后獲取到Map.Entry<String, String>,再得到getKey()和getValue() Iterator<Map.Entry<String, String>> it=map.entrySet().iterator(); while (it.hasNext()){ Map.Entry<String, String> entry=it.next(); System.out.println( "鍵key :" +entry.getKey()+ " value :" +entry.getValue()); } System.out.println( "====================================" ); } } |
4. Map的一些常用的知識點,和取值的變形形式,都需要掌握和了解
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
package com.bie; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * @author BieHongLi * @version 創建時間:2017年2月26日 上午11:29:59 * */ public class MapTest02 { public static void main(String[] args) { //1:key,value都是object類型的 //2:key必須是唯一的,不唯一,那么后面的value會把前面的value覆蓋 //3:對于HashMap,key可以為空 //4:value可以為空,也可以為空 //5:HashTable的key和value不能為空 //6:properties的key和value必須為String類型的 Map<String , String> map= new HashMap<>(); map.put( "null" , "this is null 1" ); map.put( "null" , "this is null 2" ); System.out.println(map.size()); System.out.println(map.get( null )); System.out.println( "=============================" ); //循環顯示map類型的key以及對應的value //三個集合,key的集合,value的集合,鍵值對的集合 Set<String> keys=map.keySet(); for (String s:keys){ System.out.println(s); } System.out.println( "=============================" ); Collection<String> values=map.values(); //值的集合 System.out.println(values); System.out.println( "=============================" ); Set<Map.Entry<String, String>> entrys=map.entrySet(); //鍵值對的集合 for (Map.Entry<String, String> entry:entrys){ System.out.println(entry.getKey()+ " " +entry.getValue()); } } } |
希望本文所述對大家java程序設計有所幫助。
原文鏈接:http://www.cnblogs.com/biehongli/p/6443701.html