黑马程序员技术交流社区

标题: java中遍历MAP的几种方法 ,你还有更多的方法吗? [打印本页]

作者: 自闭宅男    时间: 2014-7-6 20:54
标题: java中遍历MAP的几种方法 ,你还有更多的方法吗?
在学习java的过程中,我总结了一下遍历的方法,如果你还有更好的,请赐教。
Java代码
Map<String,String> map=new HashMap<String,String>();   
map.put("username", "qq");   
map.put("passWord", "123");   
map.put("userID", "1");   
map.put("email", "qq@qq.com");   
Map<String,String> map=new HashMap<String,String>();
map.put("username", "qq");
map.put("passWord", "123");
map.put("userID", "1");
map.put("email", "qq@qq.com");
第一种用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);                     
}   

作者: cmf195    时间: 2014-7-6 20:59
不错,通俗易懂!!!!
作者: luheqi    时间: 2014-7-6 21:21
最后一个和倒数第三个应该是重复的,没区别。
作者: 职业规划-帅丽霞老师    时间: 2014-7-7 15:37
首先,您的技术分是8分,技术分10分,博客10篇,才可以通过,但是打开链接后没有看到您的博客内容,请尽快补齐!
作者: 自闭宅男    时间: 2014-7-8 19:25
职业规划-帅丽霞老师 发表于 2014-7-7 15:37
首先,您的技术分是8分,技术分10分,博客10篇,才可以通过,但是打开链接后没有看到您的博客内容,请尽快 ...

现在呢,10分啦   




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