服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - JAVA教程 - 不同方式遍历Map集合(全)

不同方式遍历Map集合(全)

2019-12-28 14:28FOEVERYANG JAVA教程

大家都知道Map是一种以键值对的形式存在的集合,其中每个键映射到一个值,下面把Map遍历集合总结了一下给大家分享下,需要的朋友可以参考下

今天一朋友问我有关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集合的遍历代码,希望能够帮助到大家。

延伸 · 阅读

精彩推荐