java如何遍历Map<String, ArrayList> map = new HashMap<String, ArrayList>();(在线等)

解决方案 »

  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 的方式如下: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.   

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

  5.   

    晕,没完题就回答了,不好意思        
            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));
                    }
            }
      

  6.   

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