黑马程序员技术交流社区

标题: 双列集合如何迭代 [打印本页]

作者: zapple926    时间: 2016-4-5 23:30
标题: 双列集合如何迭代
如果有个双列集合,能不能 用迭代器,如何对其使用迭代.
作者: 小灰辉    时间: 2016-4-5 23:56
它 没有迭代器,但是可以实现迭代的.
第一种方式:
class MapDemo_2 {
        public static void mian(string [] args) {
                Map <String,Integer> m = new HashMap<> ();
                m.put("张三",23);
                m.put("李四",24);
                m.put("王五",25);
                m.put("赵六",26);       
                set<String> s = m.keySet(); //获取所有的键,返回一个集合
                Iterator<String> in = s.Iterator(); //set集合中含有迭代器,获取迭代,
                while(in.hashNext()) {
                        String key = in.next(); //获取键
                        Integer value = m.get(key); //通过键获取值
                        System.out.println(key+"="value);
                }
增强for循环:   for(String key : m.keySet()) {        //keySet是获取键的集合
                        Sytem.out.println(key+"="+m.get(key));       
                }
                       
        }
}

第二种方式:

entrySet();获取键值对。它的返回值是set<Map.Entry<K,V>>这是一个集合。Map是一个接口,Entry是一个子接口。
Map.Entry<K,V>有两个方法 getKey();获取键
                         getValue();获取值
class MapDemo_3 {
        public static void mian (string [] args) {
                Map <String,Integer> m = new HashMap<> ();
                m.put("张三",23);
                m.put("李四",24);
                m.put("王五",25);
                m.put("赵六",26);
                set<Map.Entry<String,Integer>> entry = m.entrySet();
                Iterator<May.Entry<String,Integer>> in = entry.Iterator();
                while(in.hashNext()) {
                        May.Entry<String,Integer> en = in.next();
                        string key = en.getKey();
                        Integer it = en.getValue();
                        System.out.println(key+"="+value);
                }
增强for循环:   for(Map.Entry<String,Integer> en :m.entrySet()) {
                        System.out.println(en.getkey()+"="+en.getValue());
                }
        }
}
作者: 小海龙    时间: 2016-4-6 20:27
楼上说的对
作者: zapple926    时间: 2016-4-6 22:03
小灰辉 发表于 2016-4-5 23:56
它 没有迭代器,但是可以实现迭代的.
第一种方式:
class MapDemo_2 {

非常感谢




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