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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马-李嘉欣 高级黑马   /  2013-3-28 18:27  /  1032 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看完了集合部分,感觉有几个知识点很重要,参考了一些说法,总结如下:
取出方式:

keySet()和entrySet()方法
1、keySet()方法获取元素
原理:将Map集合中的所有键存入到Set集合中,因为Set集合具备迭代器,所以可以用迭代方式取出所有的键,再根据get方法获取每一个键对应的值。简单说就是:Map集合---->Set集合 ---->迭代器取出
import java.util.*;  
class KeySetDemo   
{  
    public static void main(String[] args)   
    {  
        //创建Map集合,并添加元素  
        Map<Integer,String> map = new HashMap<Integer,String>();  
        map.put(2,"zhangsan");  
        map.put(6,"lisi");  
        map.put(3,"wangwu");  
        map.put(4,"heihei");  
        map.put(5,"xixi");  
        //获取map集合中的所有键的Set集合  
        Set<Integer> keySet = map.keySet();  
        //有了Set集合就可以获取其迭代器,取值  
        Iterator<Integer> it = keySet.iterator();  
        while (it.hasNext())  
        {  
            Integer i = it.next();  
            String s = map.get(i);  
            System.out.println(i + " = " + s);  
        }  
    }  
}  
2、entrySet()方法获取元素:
原理:将Map集合中的映射关系存入到了Set集合中,而这个映射关系的数据类型是Map.Entry,在通过迭代器将映射关系存入到Map.Entry集合中,并通过其中的getKey()和getValue()放取出键值。
import java.util.*;  
class EntrySetDemo  
{  
    public static void main(String[] args)   
    {  
        //创建集合,存入元素  
        Map<String,String> map = new HashMap<String,String>();  
        map.put("01","lisi1");  
        map.put("02","lisi2");  
        map.put("03","lisi3");  
        map.put("04","lisi4");  
        //获取map集合中的所有键,存入到Set集合中,  
        Set<Map.Entry<String,String>> entry = map.entrySet();  
        //通过迭代器取出map中的键值关系,迭代器接收的泛型参数应和Set接收的一致  
        Iterator<Map.Entry<String,String>> it = entry.iterator();  
        while (it.hasNext())  
        {  
            //将键值关系取出存入Map.Entry这个映射关系集合接口中  
            Map.Entry<String,String>  me = it.next();  
            //使用Map.Entry中的方法获取键和值  
            String key = me.getKey();  
            String value = me.getValue();  
            System.out.println(key + " : " + value);  
        }  
    }  
}  

2 个回复

倒序浏览
给你增加一点,利用foreach迭代entry
for(Object obj:personList.entrySet()){
                        Map.Entry<Student, String> me=(Map.Entry<Student, String>)obj;
                        System.out.println(me.getKey()+":"+me.getValue());
                }
回复 使用道具 举报
学习了。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马