详解 Map集合
(请关注 本人“集合总集篇”博文——《详解 集合框架》)
首先,本人来讲解下 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,以便后续内容的讲解:
- 添加功能 :
- V put(K key,V value):
添加/替换 元素
如果 键是第一次存储,就 直接存储元素,返回null
如果 键不是第一次存在,就 用值把以前的值替换掉,返回以前的值
- 删除功能:
void clear():
移除所有的键值对元素V remove(Object key):
根据键删除键值对元素,并把值返回
- 判断功能:
- boolean containsKey(Object key):
判断集合是否包含指定的键- boolean containsValue(Object value):
判断集合是否包含指定的值- boolean isEmpty():
判断集合是否为空
- 获取功能:
- Set<Map.Entry<K,V>> entrySet():
返回一个键值对的Set集合- V get(Object key):
根据键获取值- Set keySet():
获取集合中所有键的集合- Collection values():
获取集合中所有值的集合
- 长度功能:
- int size():
返回集合中的键值对的对数
Map集合 的 注意事项:
注意事项:
注意 键 的类型是否重写了equals()方法:
(是否录入是靠 已存在HashMap集合中的键值对的 键 与 要录入的键值对的 键 的equals()的返回值:
- 返回true,则 用新键值对覆盖旧键值对
- 返回false,则 直接录入新键值对)
那么,现在,本人就来讲解下这个接口的常用的四个子类 —— HashMap、Hashtable 、LinkedHashMap 和 TreeMap 吧:
HashMap:
请观看本人博文 —— 《详解 HashMap》
Hashtable:
请观看本人博文 —— 《详解 Hashtable》
LinkedHashMap:
请观看本人博文 —— 《详解 LinkedHashMap》
TreeMap:
请观看本人博文 —— 《详解 TreeMap》
(集合总集篇链接:https:////www.cnblogs.com/codderYouzg/p/12416560.html)
详解 Map集合的更多相关文章
- 详解Map集合体系及方法entrySet、keySet、values
简单回顾Map集合: Map表示映射关系,以键值对的方式来保存数据.key和value一一对应.key是唯一的,不可重复,而value是可重复的,可以被多个key关联.虽然Map是放入两个数据,但是却 ...
- java如何对map进行排序详解(map集合的使用)
今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排 ...
- 详解 Collection集合
(请关注 本人"集合总集篇"博文--<详解 集合框架>) 首先,本人来讲解下 Collection集合的继承体系: Collection集合 的继承体系: Collec ...
- 详解SQL集合运算
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 ...
- Tarjan算法详解理解集合
[功能] Tarjan算法的用途之一是,求一个有向图G=(V,E)里极大强连通分量.强连通分量是指有向图G里顶点间能互相到达的子图.而如果一个强连通分量已经没有被其它强通分量完全包含的话,那么这个强连 ...
- hdu1113 Word Amalgamation(详解--map和string的运用)
版权声明:本文为博主原创文章.未经博主同意不得转载. vasttian https://blog.csdn.net/u012860063/article/details/35338617 转载请注明出 ...
- 详解 TreeMap
(有关Map集合的基本性质,请观看本人博文-- <详解 Map集合>) TreeMap: 特点: TreeMap 键不允许插入null 键的底层数据结构是红黑树,可保证键的排序和唯一性 线 ...
- 详解 LinkedHashMap
同学们可能在看到这个类的时候就明白了很多关于这个类的特点,那么,本人就在这里来啰嗦一下,再来介绍下这个类: (有关Map集合的基本性质,请观看本人博文-- <详解 Map集合>) Link ...
- 详解 Hashtable
至于HashTable,本人只想说,除了它们各自的特点是截然相反外,其余性质 以及 用法和HashMap的性质几乎一样, (有关Map集合的基本性质,请观看本人博文-- <详解 Map集合> ...
随机推荐
- mybatis入门四 解决字段名与实体类属性名不相同的冲突
一.创建测试需要使用的表和数据 CREATE TABLE orders( order_id INT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(20), ...
- Salesforce LWC学习(十五) Async 以及 Picklist 公用方法的实现
本篇参考:salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type) https://developer.salesfo ...
- 不可被忽视的操作系统( FreeRTOS )【1】
把大多数人每个星期的双休过过成了奢侈的节假日放假,把每天23点后定义为自己的自由时间,应该如何去思考这个问题 ? 双休的两天里,不!是放假的两天里,终于有较长的时间好好的学习一下一直断断续续的Free ...
- Spring-Cloud-Netflix-Eureka注册中心
TOC 概述 eureka是Netflix的子模块之一,也是一个核心的模块 eureka里有2个组件: 一个是EurekaServer(一个独立的项目) 这个是用于定位服务以实现中间层服务器的负载平衡 ...
- 华为五年自动化测试工程详细解说:unittest单元测试框架
一.单元测试框架说明 单元测试是指在编程中,针对程序模块的最小单元(类中的方法)进行正确性检验的测试工作.python+selenium自动化测试中通常使用unittest或者pytest作为单元 ...
- 国内 Java 开发者必备的两个装备,你配置上了么?
虽然目前越来越多的国产优秀技术产品走出了国门,但是对于众领域的开发者来说,依然对于国外的各种基础资源依赖还是非常的强.所以,一些网络基本技能一直都是我们需要掌握的,但是速度与稳定性问题一直也都有困扰着 ...
- eclipse常用功能及快捷键
1.更改默认字体 Window->Preferences->General->Appearance->Colorsand Fonts ->Basics->Text ...
- 1024 Palindromic Number (25 分)
A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...
- 1013 Battle Over Cities (25 分)
It is vitally important to have all the cities connected by highways in a war. If a city is occupied ...
- 面试官: 说说你对async的理解
大家好,我是小雨小雨,致力于分享有趣的.实用的技术文章. 内容分为翻译和原创,如果有问题,欢迎随时评论或私信,希望和大家一起进步. 分享不易,希望能够得到大家的支持和关注. TL;DR async是g ...