(请关注 本人“集合总集篇”博文——《详解 集合框架》

首先,本人来讲解下 Map集合 的特点

Map集合 的特点:

特点:

通过 键 映射到 值的对象

一个 映射 不能包含重复的键

每个 键 最多只能映射到一个值


Map集合 的继承体系:

Map接口是集合框架 的 顶层接口之一,而Map接口的继承体系如下所示:

子接口:

Bindings, ConcurrentMap<K,V>, ConcurrentNavigableMap<K,V>, LogicalMessageContext, MessageContext, NavigableMap<K,V>, SOAPMessageContext, SortedMap<K,V>

子实现类:

HashMap,

LinkedHashMap,

Hashtable,

AbstractMap, Attributes, AuthProvider, ConcurrentHashMap, ConcurrentSkipListMap, EnumMap, IdentityHashMap, PrinterStateReasons, Properties, Provider, RenderingHints, SimpleBindings, TabularDataSupport, TreeMap, UIDefaults, WeakHashMap

上示为 Map接口的 实现类 和 子接口。

但是,在我们今后的学习工作过程中,主要应用的 实现类 和 子接口 如下:


Map集合 的常用API:

本人现在按照功能来介绍一下这个接口的API,以便后续内容的讲解:

  1. 添加功能
  • V put(K key,V value):

    添加/替换 元素

    如果 键是第一次存储,就 直接存储元素,返回null

    如果 键不是第一次存在,就 用值把以前的值替换掉,返回以前的值
  1. 删除功能
  • void clear():

    移除所有的键值对元素

  • V remove(Object key):

    据键删除键值对元素,并把值返回

  1. 判断功能
  • boolean containsKey(Object key):

    判断集合是否包含指定的键
  • boolean containsValue(Object value):

    判断集合是否包含指定的值
  • boolean isEmpty():

    判断集合是否为空
  1. 获取功能
  • Set<Map.Entry<K,V>> entrySet():

    返回一个键值对的Set集合
  • V get(Object key):

    根据键获取值
  • Set keySet():

    获取集合中所有键的集合
  • Collection values():

    获取集合中所有值的集合
  1. 长度功能
  • int size():

    返回集合中的键值对的对数

Map集合 的 注意事项:

注意事项

注意 键 的类型是否重写了equals()方法

(是否录入是靠 已存在HashMap集合中的键值对的 键要录入的键值对的 键equals()的返回值

  • 返回true,则 用新键值对覆盖旧键值对
  • 返回false,则 直接录入新键值对)

那么,现在,本人就来讲解下这个接口的常用的四个子类 —— HashMap、HashtableLinkedHashMapTreeMap 吧:

HashMap:

请观看本人博文 —— 《详解 HashMap》


Hashtable:

请观看本人博文 —— 《详解 Hashtable》


LinkedHashMap:

请观看本人博文 —— 《详解 LinkedHashMap》


TreeMap:

请观看本人博文 —— 《详解 TreeMap》


(集合总集篇链接:https:////www.cnblogs.com/codderYouzg/p/12416560.html

详解 Map集合的更多相关文章

  1. 详解Map集合体系及方法entrySet、keySet、values

    简单回顾Map集合: Map表示映射关系,以键值对的方式来保存数据.key和value一一对应.key是唯一的,不可重复,而value是可重复的,可以被多个key关联.虽然Map是放入两个数据,但是却 ...

  2. java如何对map进行排序详解(map集合的使用)

    今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排 ...

  3. 详解 Collection集合

    (请关注 本人"集合总集篇"博文--<详解 集合框架>) 首先,本人来讲解下 Collection集合的继承体系: Collection集合 的继承体系: Collec ...

  4. 详解SQL集合运算

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 ...

  5. Tarjan算法详解理解集合

    [功能] Tarjan算法的用途之一是,求一个有向图G=(V,E)里极大强连通分量.强连通分量是指有向图G里顶点间能互相到达的子图.而如果一个强连通分量已经没有被其它强通分量完全包含的话,那么这个强连 ...

  6. hdu1113 Word Amalgamation(详解--map和string的运用)

    版权声明:本文为博主原创文章.未经博主同意不得转载. vasttian https://blog.csdn.net/u012860063/article/details/35338617 转载请注明出 ...

  7. 详解 TreeMap

    (有关Map集合的基本性质,请观看本人博文-- <详解 Map集合>) TreeMap: 特点: TreeMap 键不允许插入null 键的底层数据结构是红黑树,可保证键的排序和唯一性 线 ...

  8. 详解 LinkedHashMap

    同学们可能在看到这个类的时候就明白了很多关于这个类的特点,那么,本人就在这里来啰嗦一下,再来介绍下这个类: (有关Map集合的基本性质,请观看本人博文-- <详解 Map集合>) Link ...

  9. 详解 Hashtable

    至于HashTable,本人只想说,除了它们各自的特点是截然相反外,其余性质 以及 用法和HashMap的性质几乎一样, (有关Map集合的基本性质,请观看本人博文-- <详解 Map集合> ...

随机推荐

  1. Linux上通过docker方式安装mysql

    centos版本信息: docker版本信息 mysql版本:5.7 1.docker方式安装 首先拉取mysql镜像:docker pull mysql:5.7     查看本地的mysql镜像 执 ...

  2. 数据源管理 | 主从库动态路由,AOP模式读写分离

    本文源码:GitHub·点这里 || GitEE·点这里 一.多数据源应用 1.基础描述 在相对复杂的应用服务中,配置多个数据源是常见现象,例如常见的:配置主从数据库用来写数据,再配置一个从库读数据, ...

  3. OpenCV-Python 相机校准 | 四十九

    目标 在本节中,我们将学习 由相机引起的失真类型, 如何找到相机的固有和非固有特性 如何根据这些特性使图像不失真 基础 一些针孔相机会给图像带来明显的失真.两种主要的变形是径向变形和切向变形. 径向变 ...

  4. rabbitmq++:rabbitmq 三种常用的交换机

    更多 rabbitmq 介绍 首先先介绍一个简单的一个消息推送到接收的流程,提供一个简单的图: 黄色的圈圈就是我们的消息推送服务,将消息推送到 中间方框里面也就是 rabbitMq的服务器: 然后经过 ...

  5. API开放平台接口设计-------令牌方式

    1.需求:现在A公司与B公司进行合作,B公司需要调用A公司开放的外网接口获取数据,如何保证外网开放接口的安全性? 2,使用令牌方式 比如支付宝对外提供支付的接口,爱乐生公司需要调用支付宝的接口.在爱乐 ...

  6. YII2自动初始化脚本

    #!/usr/bin/expect spawn ./init expect "Which environment do you want the application to be init ...

  7. 140行Python代码实现Flippy Bird

    140行代码实现Flippy Bird 话说这游戏中文名叫什么来着,死活想不起来了,算了话不多说,140行实现小游戏系列第二章,依然是简单小游戏,与数独游戏相比,在游戏界面显示上更难一些,但是在逻辑方 ...

  8. Unity 游戏框架搭建 2019 (十八~二十) 概率函数 & GameObject 显示、隐藏简化 & 第二章 小结与快速复习

    在笔者刚做项目的时候,遇到了一个需求.第一个项目是一个跑酷游戏,而跑酷游戏是需要一条一条跑道拼接成的.每个跑道的长度是固定的,而怪物的出现位置也是在跑道上固定好的.那么怪物出现的概率决定一部分关卡的难 ...

  9. springboot系列(三)配置文件详解

    目录 properties 文件 1.语法 2.优先级 3.自定义数据配置 4.获取自定义数据配置 1.通过prefix获取 yml文件 1.语法 2.优先级 3.自定义数据配置. 4.获取自定义数据 ...

  10. 从 Socket 编程谈谈 IO 模型(三)

    快过年啦,估计很多朋友已在摸鱼的路上.而我为了兄弟们年后的追逐,却在苦苦寻觅.规划,导致文章更新晚了些,各位猿粉谅解. 上期分享,我们结合新春送祝福的场景,通过一坨坨的代码让 BIO.NIO 编程过程 ...