A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 笑轻轻 中级黑马   /  2014-8-18 15:35  /  1848 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我记得视频教程里面似乎就是这么迭代的?
public static void main(String[] args) {
                // TODO Auto-generated method stub
                HashMap a=new HashMap();
          a.put(3, "ee");
          a.put(3, "ee");
          a.put(3, "dd");
          a.put(3, "cc");
          a.put(3, "vbm");
          a.put(3, "mm");
          a.put(3, "cxvx");
          Set<Integer> set=a.keySet();
          for(Iterator<Integer> i=set.iterator();i.hasNext()){
                  
                  System.out.println(a.get(i.next()));
          }
        }

10 个回复

倒序浏览
for少一个分号
回复 使用道具 举报
刚刚代码改成这样就Ok了 ,真古怪和我比较不一样       
public static void main(String[] args) {
                // TODO Auto-generated method stub
                Map<Integer,String> a=new HashMap<Integer,String>();
          a.put(3, "ee");
          a.put(55, "ee");
          a.put(44, "dd");
          a.put(33, "cc");
          a.put(22, "vbm");
          a.put(11, "mm");
          a.put(6, "cxvx");
          
          Set<Integer> set=a.keySet();
//          Iterator<Integer> i=set.iterator();
//         while(i.hasNext()){
//                   System.out.println(a.get(i.next()));
//          }
         for( Iterator<Integer> i=set.iterator();i.hasNext();){
                 System.out.println(a.get(i.next()));
         }
        }

}
回复 使用道具 举报
使用这种方式不是很好的控制迭代,使用while循环可以清晰明了的控制迭代。
  while(i.hasNext()){
       System.out.println(a.get(i.next()));
  }
回复 使用道具 举报
复习了一下
回复 使用道具 举报
前面没有定义泛型,后面iterator不知道是Integer类型的key
回复 使用道具 举报
男人你得有范 来自手机 中级黑马 2014-8-19 09:52:14
7#
我还没学到呢!
回复 使用道具 举报
我还是比较喜欢这种.
HashMap a=new HashMap();
        a.put(3, "ee");
        a.put(55, "ee");
        a.put(44, "dd");
        a.put(33, "cc");
        a.put(22, "vbm");
        a.put(11, "mm");
        a.put(6, "cxvx");
                Set<Integer> set=a.keySet();
                for(Integer s: set)
                {
                    System.out.println(a.get(s));
                }       
回复 使用道具 举报
Map.Entry效率高
回复 使用道具 举报
嘿~~ 来自手机 中级黑马 2014-8-19 13:54:17
10#
for循环语句里少了个;
回复 使用道具 举报
for循环格式 for( ; ; ){}
你第二个分号少写了,
个人感觉还是while循环遍历比较好,看着也舒服;还有HashMap要加上泛型
public class Test {
        public static void main(String[] args) {
                HashMap<Integer, String> a = new HashMap<Integer, String>();
                a.put(3, "ee");
                a.put(3, "ee");
                a.put(3, "dd");
                a.put(3, "cc");
                a.put(3, "vbm");
                a.put(3, "mm");
                a.put(3, "cxvx");
               
                Set<Integer> set = a.keySet();
                Iterator<Integer> i = set.iterator();
                while (i.hasNext()) {
                        System.out.println(a.get(i.next()));
                }
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马