黑马程序员技术交流社区

标题: MAP集合的遍历方法有哪些 [打印本页]

作者: ithemazl    时间: 2015-9-19 09:55
标题: MAP集合的遍历方法有哪些
如题求告知
作者: orgcheng    时间: 2015-9-19 10:06
Map的遍历大体有3种:
1、遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中,放着的就是Map中的某一对key-value;
2、遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来读取Map中的元素;
3、遍历Map.values():它是Map中value的集合,我们可以直接通过这个集合遍历Map中的值,却不能读取key。

作者: heshiwei    时间: 2015-9-19 10:17
我所知道有如下几种:
第一种用for循环
Java代码

for(Map.Entry<String, String> entry:map.entrySet()){   
     System.out.println(entry.getKey()+"--->"+entry.getValue());   
}  
for(Map.Entry<String, String> entry:map.entrySet()){
          System.out.println(entry.getKey()+"--->"+entry.getValue());
}

第二种用迭代
Java代码

Set set = map.entrySet();        
Iterator i = set.iterator();        
while(i.hasNext()){     
     Map.Entry<String, String> entry1=(Map.Entry<String, String>)i.next();   
     System.out.println(entry1.getKey()+"=="+entry1.getValue());   
}  
Set set = map.entrySet();   
Iterator i = set.iterator();   
while(i.hasNext()){
    Map.Entry<String, String> entry1=(Map.Entry<String, String>)i.next();
    System.out.println(entry1.getKey()+"=="+entry1.getValue());
}
用keySet()迭代
Java代码

Iterator it=map.keySet().iterator();   
while(it.hasNext()){   
     String key;   
     String value;   
     key=it.next().toString();   
     value=map.get(key);   
     System.out.println(key+"--"+value);   
}  
Iterator it=map.keySet().iterator();
while(it.hasNext()){
    String key;
    String value;
    key=it.next().toString();
    value=map.get(key);
    System.out.println(key+"--"+value);
}

用entrySet()迭代
Java代码

Iterator it=map.entrySet().iterator();         
System.out.println( map.entrySet().size());   
String key;         
String value;   
while(it.hasNext()){   
        Map.Entry entry = (Map.Entry)it.next();         
        key=entry.getKey().toString();         
        value=entry.getValue().toString();         
        System.out.println(key+"===="+value);                    
}   
作者: 枕草虫    时间: 2015-9-19 12:18
一个是取值的集合 map.values();
一个是取键的集合 map.ketSet();
还有一个键值对关系的集合   map.entrySet();




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2