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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙传磊 中级黑马   /  2013-3-7 22:47  /  1197 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙传磊 于 2013-3-8 11:37 编辑

在学到Map集合关于取出集合中的key和value时有一种利用Map.Entry的方法:下面是我写得代码为什么会在编译时报出这么多错误呢?现在我已经崩溃了!错误的地方我已经标出大致三处希望高手指点迷津!
import java.util.Iterator;
import java.util.Set;
class MapDemo {
        public static void main(String[] args) {
                Map<String, String> map = new HashMap<String, String>();//(一)Map和HashMap报错。
                map.put("1", "yyyy1"); //添加元素
                map.put("2", "yyyy2");
                map.put("3", "ssss3");
                map.put("4", "ssss4");
                Set<Map.Entry<String, String>> entrySet = map.entrySet();//(二)Ma.Entry编译报错报错
                Iterator<Map.Entry<String, String>> it = entrySet.iterator();
                while(it.hasNext()) {
                        Map.Entry<String, String> me = it.next();
                        String key = me.getKey();
                        String value = me.getValue();
                        System.out.println(key + ":" + value);//(三)分号编译报错
                }
interface Map {    //Map.Entry  其实也是一个接口,他是 Map 接口中的一个内部接口
        public static interface Entry {
                public abstract Object getKey();
                public abstract Object getValue();
        }
}
class HashMap implements Map {
        class Has implements Map.Entry {
                public Object getKey() {}   
                public Object getValue() {}  
        }
}//(四)大括号编译报错

评分

参与人数 1技术分 +1 收起 理由
张庚 + 1

查看全部评分

3 个回复

倒序浏览
楼主,看你写代码的好像是想要使用自己定义的 HashMap,不知道你是不是这意思,如果是那样的话显然是有问题的,但如果你要使用 Java 提供的,那就把你定义的 HashMap,interface Map 删了,那就没问题。....

评分

参与人数 1黑马币 +6 收起 理由
张庚 + 6

查看全部评分

回复 使用道具 举报
这些是干什么用的?自己实现Map();   ?  没方法,没泛型,就是没功能实现! 、大括号报错分析:1.少了,2.多了,3.整个代码不少不多,地方放错了导致某区域多了个'{'某区域就少了个 '}'
  1. interface Map {    //Map.Entry  其实也是一个接口,他是 Map 接口中的一个内部接口
  2.         public static interface Entry {
  3.                 public abstract Object getKey();
  4.                 public abstract Object getValue();
  5.         }
  6. }
  7. class HashMap implements Map {
  8.         class Has implements Map.Entry {
  9.                 public Object getKey() {}   
  10.                 public Object getValue() {}  
  11.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张庚 + 1

查看全部评分

回复 使用道具 举报
夏振博 发表于 2013-3-7 23:37
这些是干什么用的?自己实现Map();   ?  没方法,没泛型,就是没功能实现! 、大括号报错分析:1.少了,2. ...

:loveliness::hug:
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马