【Java】Map 介绍

概念

Map 集合类用于存储键值对,其中每个键映射到一个值。

常见的接口和方法

方法 功能
get(Object key) 返回与指定键关联的值
put(Object key, Object value) 将指定值与指定键相关联
containsKey(Object key) 如果 Map 包含指定键的映射,则返回 true
containsValue(Object value) 如果 Map 将一个或多个键映射到指定值,则返回 true
keySet() 返回 Map 的键 的 Set,可以用 foreach 语句遍历
··· ···

Map 的基本实现

如果没有其他的限制,HashMap 应该成为你的默认选择,因为它对速度进行了优化,其他实现强调了其他的特性,因此都不如 HashMap 快。

实现 介绍
HashMap Map 基于散列表的实现(它取代了Hashtable)。插入和查询“键值对”的开销是固定的。可以通过构造器设置容量和负载因子,以调整容器的性能。
LinkedHashMap 类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是其插入次序,或者是最近最少使用(LRU)的次序。只比 HashMap 慢一点,而在迭代访问时反而更快,因为它使用链表维护内部次序。
TreeMap 基于红黑树的实现。查看“键”或“键值对”时,它们会被排序(次序由 cmparable 或 Comparator 决定)。TreeMap的特点在于,所得到的结果是经过排序的。TreeMap是唯一带有 subMap() 方法的 Map,它可以返回一个子树。
WeakHashMap 弱键(weak key)映射,允许释放映射所指向的对象;这是为解决某类特殊问题而设计的。如果映射之外没有引用指向某个“键”,则此“键”可以被垃圾收集器回收。
ConcurrentHashMap 一种线程安全的Map,它不涉及同步加锁。
IdentityHashMap 使用 == 代替 equals() 对“键”进行比较的散列映射。专为解决特殊问题而设计的。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,073评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,767评论 19 139
  • 概述 Java集合框架由Java类库的一系列接口、抽象类以及具体实现类组成。我们这里所说的集合就是把一组对象组织到...
    absfree阅读 5,052评论 0 10
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,165评论 0 4
  • 小时候,家里的规矩很多。来客人了,妇女和小孩不许上桌;在外面别人给东西,大人不点头不能拿,想吃回家跟爸爸妈妈要;吃...
    桂子山僧阅读 1,586评论 0 0