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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我看了半天API没看懂,...........钥匙/设置?

10 个回复

正序浏览
就是获取key的集合啊,
回复 使用道具 举报
-律- 发表于 2014-12-23 00:04
为什么用Set来装HashMap的数据,跟多态也没关系吧,Set继承至接口Collection,,,,HashMap继承至接口Map,,,, ...

:curse::curse:API是这样定义的,你说为什么用Set来。我也不知道!那你说为什么1+1=2
回复 使用道具 举报
返回的是所有key的Set集合
回复 使用道具 举报
-律- 中级黑马 2014-12-23 00:04:41
8#
骑着乌龟去旅行 发表于 2014-12-22 22:57
如果你是这样定义的 HashMap hm = new HashMap(); 应该是对的

//这个获得key的集合

为什么用Set来装HashMap的数据,跟多态也没关系吧,Set继承至接口Collection,,,,HashMap继承至接口Map,,,,而且Map还是独立的接口
回复 使用道具 举报
我是来拿黑马币的
回复 使用道具 举报
-律- 发表于 2014-12-22 22:36
//                           a: 获取 对象中  键的集合
                   Set ids = hm.keySet();
//                           b: 运用增强for循环,    从键 ...

如果你是这样定义的 HashMap<String,Student> hm = new HashMap<String,Student>(); 应该是对的

//这个获得key的集合
Set<String> ids = hm.keySet();
   for (String id : ids) {
    //通过key 获得value的对象
     Student s = hm.get(id);
}
回复 使用道具 举报
获取map集合中的键,返回set集合,通过键可获得值
回复 使用道具 举报
骑着乌龟去旅行 发表于 2014-12-22 22:23
HashMap 中不是有 key =value的集合吗 keySet()就是  key的集合

//                           a: 获取 对象中  键的集合
                   Set<String> ids = hm.keySet();
//                           b: 运用增强for循环,    从键的集合中  获取到   每一个 键
                   for (String id : ids) {
//                           c: 通过 键  找到 对应的 值       
                           Student s = hm.get(id);
                                   //d: 打印, 通过值(学生), 得到学生的具体信息       
                          
                                   //打印的结果: 学号,姓名,年龄,班级
                           System.out.println(id + ", " + s.getName() + ", " + s.getSkill() + ", " + s.getClazz());
                   }                  
        }
}
我这么写不知道,对不对,如果有不对,或者不够详细的,你能帮我补充一下备注么,我不想知其然,而不知其所以然,谢谢你
回复 使用道具 举报
HashMap 中不是有 key =value的集合吗 keySet()就是  key的集合。比如 HashMap<String , Integer> maps = new HashMap<String , Integer>()       Set<String> keys = maps.keySet()
回复 使用道具 举报
HashMap 中不是有 key =value的集合吗 keySet()就是  key的集合
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马