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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李晓俊老师 黑马帝   /  2012-2-27 18:19  /  3715 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

它也是集合么,那是Set还是Map啊

评分

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

查看全部评分

2 个回复

倒序浏览
对于Map接口来说本身不能进行迭代(如Iterator、foreach)进行输出,因为Map接口存放一对值,而Iterator每次只能找到一个值,所以要想使用迭代输出则要按下面的步骤:
1、将Map接口的实例通过entrySet()方法变为Set接口对象
2、通过Set接口实例化为Iterator实例化
3、通过Iterator迭代输出,每个内容都是Map.Entry对象
4、通过Map.Entry进行Key—>value的分离

Map.Entry是接口,Map中数据都是通过Map.Entry保存的,看个例子吧(以Iterator输出为例)
  1. import java.util.HashMap ;
  2. import java.util.Map ;
  3. import java.util.Set ;
  4. import java.util.Iterator ;
  5. public class IteratorDemo04{
  6.         public static void main(String args[]){
  7.                 Map<String,String> map = null; // 声明Map对象,其中key和value的类型为String
  8.                 map = new HashMap<String,String>() ;
  9.                 map.put("mldn","www.mldn.cn") ;        // 增加内容
  10.                 map.put("zhinangtuan","www.zhinangtuan.net.cn") ;        // 增加内容
  11.                 map.put("mldnjava","www.mldnjava.cn") ;        // 增加内容
  12.                 Set<Map.Entry<String,String>> allSet = null ;
  13.                 allSet = map.entrySet() ;
  14.                 Iterator<Map.Entry<String,String>> iter = null ;
  15.                 iter = allSet.iterator() ;
  16.                 while(iter.hasNext()){
  17.                         Map.Entry<String,String> me = iter.next() ;
  18.                         System.out.println(me.getKey() + " --> " + me.getValue()) ;
  19.                 }
  20.         }
  21. };
复制代码

评分

参与人数 1技术分 +2 收起 理由
admin + 2 赞一个!

查看全部评分

回复 使用道具 举报
从所周知Map集合都是以键值对出现的。
Map集合的两种取出方式:
1:Set<k> keySet;将Map中所有的键存入到Set集合中,因为Set中有迭代器,
        所以可以迭代方式,取出所有的键,在根据get方法,获取每一个键对应的               
2:   Map集合的取出原理;将Map集合转成Set集合,在通过迭代器取出。
Set<Map.Entry<k,v>> entrySet;将Map集合中的映射关系存到Set集合中,
        而这个关系的数据类型就是Map.Entry<k.v>
             getKey() -->返回与此项对应的键。
             getValue() --> 返回与此项对应的值。
  

           

评分

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

查看全部评分

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