欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

java如何遍历Map map = new HashMap();,maphashmap

来源: javaer 分享于  点击 23874 次 点评:243

java如何遍历Map map = new HashMap();,maphashmap


1、第一种

       

Map <String, ArrayList> map = new HashMap <String, ArrayList>(); Set<String> keys = map.keySet(); Iterator<String> iterator = keys.iterator(); while(iterator.hasNext()) {     String key = iterator.next();     ArrayList arrayList = map.get(key);     for(Object o : arrayList) {         ...     } }


2、第二种

Map <String, ArrayList> map = new HashMap <String, ArrayList>();

for(int i=0;i<10;i++){
ArrayList<String> lists=new ArrayList<String>();
for(int j=0;j<5;j++)
lists.add(j+"");
map.put(i+"", lists);
}
for(int i=0;i<map.size();i++){
ArrayList<String> lists=(ArrayList<String>)map.get(i+"");
for(int j=0;j<lists.size();j++)
System.out.print(lists.get(j));
}


3、第三种

既然使用了泛型,那 Map 中的值也应该用泛型,可以改为 List<String>

用 foreach 的方式如下:

Java code?
1 2 3 4 5 6 7 8 9 10 Map<String, List<String>> map = new HashMap <String, List<String>>(); map.put(...);   for(Map.Entry<String, List<String>> entry : map.entrySet()) {     String key = entry.getKey();         List<String> values = entry.getValue();     for(String value : values) {        System.out.println(key + " --> " + value);     } }


4、第四种

Set<Map.Entry<String,ArrayList>> s = m.entrySet();
        Iterator it = s.iterator();
        while (it.hasNext())
        {        
                Map.Entry e = (Map.Entry)it.next();
                System.out.println(e.getKey());
                ArrayList list = e.getValue();

                for (int i = 0;i<list.size();i++) {
                      System.out.println(list.get(i));
                }
        }


5、看你有没有特殊的需要了,如果只是循环的话可以考虑foreach或者Iterator ,如果想每隔几个处理一下或者其他什么的话,就需要for循环了,可以控制更多的事情,但是速度就没有foreach和interator快了

相关文章

    暂无相关文章

用户点评