Java学习:Map实现类

Map实现类:TreeMap

说明:

  1. TreeMap存储 Key-Value 对时,需要根据 key-value 对进行排序。TreeMap 可以保证所有的 Key-Value 对处于有序状态。

  2. TreeSet底层使用红黑树结构存储数据

  3. TreeMap 的 Key 的排序:

    1. 自然排序:TreeMap 的所有的 Key 必须实现 Comparable 接口,而且所有 的 Key 应该是同一个类的对象,否则将会抛出 ClasssCastException

    2. 定制排序:创建 TreeMap 时,传入一个 Comparator 对象,该对象负责对 TreeMap 中的所有 key 进行排序。此时不需要 Map 的 Key 实现 Comparable 接口

  4. TreeMap判断两个key相等的标准:两个key通过compareTo()方法或 者compare()方法返回0。

Map实现类:TreeMap

说明:

  1. Hashtable是个古老的 Map 实现类,JDK1.0就提供了。不同于HashMap, Hashtable是线程安全的。

  2. Hashtable实现原理和HashMap相同,功能相同。底层都使用哈希表结构,查询 速度快,很多情况下可以互用。

  3. 与HashMap不同,Hashtable 不允许使用 null 作为 key 和 value

  4. 与HashMap一样,Hashtable 也不能保证其中 Key-Value 对的顺序

  5. Hashtable判断两个key相等、两个value相等的标准,与HashMap一致。

Map实现类:Properties

说明:

  1. Properties 类是 Hashtable 的子类,该对象用于处理属性文件

  2. 由于属性文件里的 key、value 都是字符串类型,所以 Properties 里的 key 和 value 都是字符串类型

  3. 存取数据时,建议使用setProperty(String key,String value)方法和 getProperty(String key)方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值