public static void main(String [] args){
Map<Name,String> c1 = new HashMap<Name,String>(); //Name为一个类
c1.put(new Name("f1","s1"),"aaa");
c1.put(new Name("f2","s2"),"bbb");
c1.put(new Name("f3","s3"),"ccc");
c1.put(new Name("f4","s4"),"ddd");
Set s1 = c1.keySet();//返回包含键值的SET视图;
for(Iterator iterator = s1.iterator();iterator.hasNext();){
Object n = iterator.next();
System.out.print(n + " ");
if(c1.containsKey(n)){
System.out.println(c1.get(n));
}
}
}这是我自己做的,请问有没有更好的方法?

解决方案 »

  1.   

    Iterator是用来遍历所有实现Collection接口的容器的,我是想问实现遍历MAP接口的。OK?
      

  2.   

    Map 不能遍历。只能通过key取。Map是无序的。但linkedhashmap可以
      

  3.   

    Iterator<Map.Entry<Name, String>> iter = c1.entrySet().iterator();
    while(iter.hasNext()) {
        Map.Entry<Name, String> entry = iter.next();
        System.out.println(entry.getKey()+" = "+entry.getValue());
    }
      

  4.   

    map的遍历一般有两种
    一是映射成keySet,按key遍历,
    另一是把map映射成entrySet,再进行遍历