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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zapple926 中级黑马   /  2016-4-5 23:30  /  728 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如果有个双列集合,能不能 用迭代器,如何对其使用迭代.

3 个回复

倒序浏览
它 没有迭代器,但是可以实现迭代的.
第一种方式:
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());
                }
        }
}

评分

参与人数 1黑马币 +2 收起 理由
r1503882525 + 2 赞一个!

查看全部评分

回复 使用道具 举报 1 0
楼上说的对
回复 使用道具 举报
小灰辉 发表于 2016-4-5 23:56
它 没有迭代器,但是可以实现迭代的.
第一种方式:
class MapDemo_2 {

非常感谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马