今天一朋友问我有关Map集合的遍历问题,说真的当时真是懵了似懂非懂的,下面我通过查阅资料,具体内容整理如下:
1
2
3
4
5
6
|
public static void main(String[] args){
Map<String,String> map= new HashMap<String,String>();
map.put( "1" , "张三" );
map.put( "2" , "李四" );
map.put( "3" , "王五" );
}
|
第一种方法:通过Map.keySet遍历key和value
1
2
3
4
|
for (String key:map.keySet()){
System.out.print( "key=" +key);
System.out.println( "value=" +map.get(key));
}
|
第二种方法:通过Map.entrySet和迭代器遍历Map
1
2
3
4
5
6
|
Iterator<Map.Entry<String,String>> car =map.entrySet().interator();
while (car.hasNext()){
Map.Entry<String,String> entry=car.next();
System.out.println( "key=" +entry.getKey()+ "and value=" +entry.getValue());
}
|
第三种方法:Map.entrySet()加for in 循环(推荐):
1
2
3
4
|
for (Map.Entry<String,String> entry:map.entrySet()){
System.out.println( "key=" +entry.getKey()+ "and value=" +entry.getValue());
}
|
注:Map.entrySet()返回的是一个Set<Map<k,v>>,Map.Entry是一个接口,表示一个键值对(映射项),而Set<Map<k,v>>则表示映射项的Set。
第四种方法:通过Map.values():
1
2
3
4
|
for (String val:map.Values()){
System.out.println( "value=" +v);
}
|
以上四种方法介绍了Map集合的遍历代码,希望能够帮助到大家。