Java集合学习(二)——Map集合架构概述

142 阅读2分钟

「这是我参与11月更文挑战的第22天,活动详情查看:2021最后一次更文挑战

前言

 大家好,我是程序猿小白 GW_gw,很高兴能和大家一起学习进步。

关于Java的集合框架的概述就到这里了,如想要了解Collection集合可以点击下方连接直达。

Java集合学习(一)——Collection集合架构概述

以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。

摘要

 本文主要介绍Java集合框架下的Map集合体系。

1. Map体系

Map体系是用于保存具有映射关系的数据。都是Key-value的形式来保存,每个Key都是不可重复的,用来标识每项数据,即通过key来获取对应的value值。

  1. EnumMap类:与枚举类型键一起使用的专用 Map实现类,不能存放null键,可以存放null值,此实现不是同步的。

  2. WeakHashMap类:以弱键 实现的基于哈希表的 Map可以存放null键和null值,此类不是同步的。 在进行垃圾回收的时候会自动回收键值对。

  3. IdentityHashMap类:此类利用哈希表实现 Map 接口,不保证迭代顺序。比较键(和值)时使用引用相等性代替对象相等性。也就是说只有引用值相等才算相等。这和其他正常的Map有很大区别。可以存放null键和null值,此类不是同步的。

  4. HashMap类:基于哈希表的 Map 接口的实现,不保证迭代顺序。可以存放null 值和 null 键,此类不是同步的

    1. LinkedHashMap类:Map 接口的哈希表和链接列表实现,可以保证迭代顺序。即使重新插入了已经存在的键也不会改变插入顺序。可以存放null键和null值,此类不是同步的。
  5. HashTable类:此类实现一个哈希表,该哈希表将键映射到相应的值。不能存放null键和null值,此类是同步的。

    1. Properties类:Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
  6. SortedMap接口:进一步提供了关于键的总体排序 的 Map。根据其键的自然顺序进行排序的,或者根据提供的 Comparator 进行排序。

    1. TreeMap类:此类基于红黑树实现,根据其键的自然顺序进行排序,或跟据提供的Comparator进行排序。此实现不是同步的。

小结

以上就是集合框架中的Map体系的一些常用的实现类和接口,接下来我们逐个学习使用。希望对读者有所帮助,如有不正之处,欢迎留言评论。