Java数据结构——集合:Map接口的实现类

在这里插入图片描述

HashMap与Hashtable

Hashtable:旧版。线程安全的。它的key和value不能为null。
HashMap:相对Hashtable它来说新一点。线程不安全。它允许key和value为null值。

元素完全无序

 @Test
    public void test01() {
        Map map = new HashMap();//完全无序
        map.put("重庆", "火锅");
        map.put("兰州", "拉面");
        map.put("柳州", "螺蛳粉");
        Set entrySet = map.entrySet();
        for (Object entry : entrySet) {
            System.out.println(entry);
        }
        /*兰州=拉面
        柳州=螺蛳粉
        重庆=火锅*/
    }

LinkedHashMap

LinkedHashMap是HashMap的子类,比HashMap多维护了映射关系的添加顺序。
元素顺序按照添加顺序

 @Test
    public void test01() {
        Map map = new LinkedHashMap();
        map.put("重庆", "火锅");
        map.put("兰州", "拉面");
        map.put("柳州", "螺蛳粉");
        Set entrySet = map.entrySet();
        for (Object entry : entrySet) {
            System.out.println(entry);
        }
        /*重庆=火锅
        兰州=拉面
        柳州=螺蛳粉*/
    }

TreeMap

元素按照key排大小顺序。
TreeMap要让key排大小,要么key类型本身实现了java.lang.Comparable接口,要么在创建TreeMap时,指定一个java.util.Comparator接口的实现类对象。

@Test
    public void test01() {
        Map map = new TreeMap();//完全无序

        map.put("A", "火锅");
        map.put("B", "拉面");
        map.put("C", "螺蛳粉");

        Set entrySet = map.entrySet();
        for (Object entry : entrySet) {
            System.out.println(entry);
        }
       /*A=火锅
        B=拉面
        C=螺蛳粉*/
    }

Properties

Properties是Hashtable的子类,不允许key和value是null并且它的key和value的类型都只能是String。通常用于存储配置属性

而且为了可读性更好,还增加了两个方法:
setProperty(key,value)
String getProperty(key)

 @Test
    public void test6() throws IOException {
        Properties pro = System.getProperties();//获取系统属性配置
        Set entrySet = pro.entrySet();
        for (Object entry : entrySet) {
            System.out.println(entry);
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GuochaoHN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值