黑马程序员技术交流社区

标题: 简单问题-------------HashMap下的keySet()方法啥意思 [打印本页]

作者: -律-    时间: 2014-12-22 22:21
标题: 简单问题-------------HashMap下的keySet()方法啥意思
我看了半天API没看懂,...........钥匙/设置?

作者: 骑着乌龟去旅行    时间: 2014-12-22 22:23
HashMap 中不是有 key =value的集合吗 keySet()就是  key的集合
作者: 骑着乌龟去旅行    时间: 2014-12-22 22:25
HashMap 中不是有 key =value的集合吗 keySet()就是  key的集合。比如 HashMap<String , Integer> maps = new HashMap<String , Integer>()       Set<String> keys = maps.keySet()
作者: -律-    时间: 2014-12-22 22:36
骑着乌龟去旅行 发表于 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());
                   }                  
        }
}
我这么写不知道,对不对,如果有不对,或者不够详细的,你能帮我补充一下备注么,我不想知其然,而不知其所以然,谢谢你
作者: 银离子    时间: 2014-12-22 22:51
获取map集合中的键,返回set集合,通过键可获得值
作者: 骑着乌龟去旅行    时间: 2014-12-22 22:57
-律- 发表于 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);
}
作者: 后悔药    时间: 2014-12-22 22:59
我是来拿黑马币的
作者: -律-    时间: 2014-12-23 00:04
骑着乌龟去旅行 发表于 2014-12-22 22:57
如果你是这样定义的 HashMap hm = new HashMap(); 应该是对的

//这个获得key的集合

为什么用Set来装HashMap的数据,跟多态也没关系吧,Set继承至接口Collection,,,,HashMap继承至接口Map,,,,而且Map还是独立的接口
作者: outsider1020    时间: 2014-12-23 11:22
返回的是所有key的Set集合
作者: 骑着乌龟去旅行    时间: 2014-12-23 22:02
-律- 发表于 2014-12-23 00:04
为什么用Set来装HashMap的数据,跟多态也没关系吧,Set继承至接口Collection,,,,HashMap继承至接口Map,,,, ...

:curse::curse:API是这样定义的,你说为什么用Set来。我也不知道!那你说为什么1+1=2
作者: I空空    时间: 2014-12-24 11:56
就是获取key的集合啊,




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