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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天山 中级黑马   /  2014-4-25 10:37  /  1321 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.itheima;
import java.util.*;
import java.util.Iterator;//Map 得导这个包
public class test_3 {
        //
        //       
        public static void main(String []args)
        {
       
        Map<String,Integer> map=new HashMap<String,Integer>();

                map.put("小李", 23);
                map.put("小张", 26);
                map.put("小王", 22);
                map.put("小周",29);
                map.put("小吴", 28);
                map.put("小罗", 24);
               
                   //这里看不太懂,能说下请教下各位大神
                //先获取SET 集合,keyset();
                Set<String>set=map.keySet();
               
                //这里要用到迭代器,
                Iterator<String>it=set.iterator();
               
               
               
                while(it.hasNext())
                {
                        String key=it.next();
                        Integer value=map.get(key);
                        System.out.println("key 为="+key+""+"value="+value);
                }
        }               
}

3 个回复

倒序浏览
map类集合和set类集合不一样哦:
set集合是以哈希值为基础存储数据的集合,储存对象无序,且不能重复(通过判断对象哈希值认定)。
而Map集合中一次储存两个元素:键和值。其中键和值有映射关系。
打个比方吧,如果说set集合里储存的每一个对象可以看作一个小球,那么map集合中储存的就是每个上面都系着一个绳子的小球。通过绳子(键)可以方面的取出这个绳子系着的(有映射关系的)小球(值)。
keyset()就是一个管理这些绳头的方法:建立了一个set集合来储存这些绳头(键值),key就是英文的“键”。
这样通过键值就可以遍历map集合中的元素了。

评分

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

查看全部评分

回复 使用道具 举报
Set<String>set=map.keySet();
Map集合里的Key都是一个个对象,但调用keyset方法的时候,就可以把Map里的所有key对象取出,放到一个Set容器中,再用Set集合的迭代方法全部取出容器中的元素。
回复 使用道具 举报
Map集合存放键值对。但是Map集合里没有迭代器方法 取出元素。
这时就有了keySet方法把MAP集合里的键值对的映射关系取出来放在set集合里。
这时就由于,set集合里有迭代器方法,可以取出里面的元素,并且有get方法可以获取键,或者值。

主要思路就是把:
Map集合 变成 Set集合,然后用迭代器取元素!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马