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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐青松 中级黑马   /  2014-2-20 22:39  /  974 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Map有哪些常用类,各有什么特点?
public class TestDemo {

        public static void main(String[] args) {
                MapTest();
        }
//定义Map集合测试方法
        private static void MapTest()
        {
                //定义一个Hashtable对象
                Map hashTable=new Hashtable<String, Integer>();
                hashTable.put("liuming", 23);
                hashTable.put("jinyao", 22);
                hashTable.put("ganbin", 25);
                //hashTable.put(null,null)//hashTable.put(null,null)会运行出错,因为Hashtable不允许存null值或null键
               
                //Map集合获取集合的Value值有两种方式,分别是使用keySet()和entrySet()方法实现
                //这里使用keySet()方法获取value值,输出结果为:25 22 23
                Set keySet=hashTable.keySet();
                for(Iterator it=keySet.iterator();it.hasNext();)
                {
                        System.out.print(hashTable.get(it.next())+" ");
                }
                System.out.println();
                //定义一个HashMap对象
                Map hashMap=new HashMap<String, Integer>();
                hashMap.put("xiaoming", 12);
                hashMap.put("xiaohua", 13);
                hashMap.put("gouzi", 15);
                hashMap.put(null,null);
               
                //这里使用获取Map集合Value值的第二种方法:entrySet()方法来实现
                //entrySet()返回类型是Set<Map.Entry<k,v>>集合,里面存的类型是:键和值的映射关系。即将Map集合中映射关系存入到Set集合中
                //然后通过Set集合的迭代方法取出关系,通过Map.Entry的getKey()和getValue()分别取出key键和value值。
                Set<Map.Entry<String, Integer>> entrySet=hashMap.entrySet();
                Iterator<Map.Entry<String, Integer> > iterator=entrySet.iterator();
                while (iterator.hasNext()) {
                        Map.Entry<String, Integer> me=iterator.next();
                        String key=me.getKey();
                        Integer value=me.getValue();
                        System.out.print(value+" ");
                }
                System.out.println();
                //定义TreeMap集合,对存入集合中的元素进行排序
                Map treeMap =new TreeMap<String, String>();
                treeMap.put("bb", "yuwen");
                treeMap.put("ee", "shuxue");
                treeMap.put("gg", "yinyu");
                treeMap.put("aa", "wuli");
                treeMap.put("cc", "huaxue");
                treeMap.put("dd", "shengwu");
               
                //这里采用entrySet()方法来取元素,结果为:aa-wuli bb-yuwen cc-huaxue dd-shengwu ee-shuxue gg-yinyu
                //通过取得结果我们会发现TreeMap按键对存入的元素进行了排序。联想到TreeSet,我们可以知道TreeSet和TreeMap都具有排序功能
                Set<Map.Entry<String, String>> teSet=treeMap.entrySet();
                Iterator<Map.Entry<String, String>> iterator2=teSet.iterator();
                while (iterator2.hasNext()) {
                        Map.Entry<String, String> me=iterator2.next();
                        String key=me.getKey();
                        String value=me.getValue();
                        System.out.print(key+"-"+value+" ");
                }
        }
}

评分

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

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马