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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 宋文轩 黑马帝   /  2011-11-11 21:17  /  2270 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

用增强for循环如何遍历的map集合? 感觉不是很理解for(  :)这个冒号前面要怎么写。数组倒明白 map结合就晕了

5 个回复

倒序浏览
先取出map中所有ID 这需要一个方法
Set set=linkedhashmap.getkeys()(你的map集合的一个方法)
然后对你建立的set集合 进行遍历
可以用增强for循环:
for(Object o:set){
    if(o.equals(RecordID)){
        String str = map.getvalue(o);
}
}
就可以了当然str要在外面定义

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1

查看全部评分

回复 使用道具 举报
这是1.5新特性,要迭代的类必须实现Iterator接口;
可以对比的理解,其实for增强内部也是迭代实现的:Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
  String str = it.next();
  System.out.println(str);
}
for循环遍历:
for (String str : set) {
      System.out.println(str);
}

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1

查看全部评分

回复 使用道具 举报
原理是一样的,集合是数组的升级+加强的产物
回复 使用道具 举报
陈超 黑马帝 2011-11-11 22:09:43
报纸
本帖最后由 陈超 于 2011-11-11 22:41 编辑

增强for循环输出map集合两种方式:
一、先得到map集合key的set集合:Set<key类型> set=map实例.keySet();
                                                   for(key类型 s:set){}
                                                  其中 “:”前写上Map集合中key的类型(与Set集合中的类型相同),
                                     空一格写一个变量(任意,不和其他变量名冲突),变量表示Map中key的一个引用。
二、先得到map集合中key和value的关系的集合:Set<Map.Entry<k,v>> set=Map实例.entrySet();
                                                                      for(Map.Entry<k,v> me:set){}
                                                                     :号前面的写法与一相同

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1

查看全部评分

回复 使用道具 举报
谢谢大家  主要是问MAP集合的写法  谢谢楼上的哥们
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马