博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第一章 Map
阅读量:5749 次
发布时间:2019-06-18

本文共 714 字,大约阅读时间需要 2 分钟。

  hot3.png

1、基础介绍

Map是编程中常用数据结构,它存储一组键值对象,提供key(键)到value(值)的映射。Java通过继承接口java.util.Map对Map数据类型进行规范化定义,如下图

我们可以很清楚的看到,Map定义了三套collection View,分布是keySet()、values()、entrySet(),他们依次代表着key的列表、value的列表、已经key-value的映射关系列表。其中entrySet()更是定义了Map的核心结构是Entry<K,V>形式的链表结构。

2、核心类图

java.util.Map只是进行了规范化定义,并没有具体实现。Java中有HashMap,HashTable等实现了该规范,其核心类图如下

3、1.8新特性

直接看1.8版本中Map的类图

可以发现1.8版本的jdk相对1.7中增加了很多方法比如:putIfAbsent等。

default V putIfAbsent(K key, V value) {        V v = get(key);        if (v == null) {            v = put(key, value);        }        return v;    }

可以发现一个很有意思的定义方式 default。这个关键字彻底解开“实现接口必需实现其所有方法”的魔咒,另外还有一个关键字static,也可实现这个功能。

这里不过多的赘述每个方法的使用和实现细节了。

4 具体实现

1)

2)HashTable

 

转载于:https://my.oschina.net/shyann/blog/1922360

你可能感兴趣的文章
读书笔记-高标管事 低调管人
查看>>
Master带给世界的思考:是“失控”还是进化
查看>>
用户和开发者不满苹果iCloud问题多多
查看>>
java.lang.UnsatisfiedLinkError:no dll in java.library.path终极解决之道
查看>>
我的工具:文本转音频文件
查看>>
【许晓笛】从零开始运行EOS系统
查看>>
【跃迁之路】【460天】程序员高效学习方法论探索系列(实验阶段217-2018.05.11)...
查看>>
C++入门读物推荐
查看>>
TiDB 源码阅读系列文章(七)基于规则的优化
查看>>
Spring之旅第八站:Spring MVC Spittr舞台的搭建、基本的控制器、请求的输入、表单验证、测试(重点)...
查看>>
数据结构与算法——常用排序算法及其Java实现
查看>>
你所不知的Webpack-多种配置方法
查看>>
webpack+typescript+threejs+vscode开发
查看>>
python读excel写入mysql小工具
查看>>
如何学习区块链
查看>>
搜索问题的办法
查看>>
微信分销系统商城营销5大重点
查看>>
求职准备 - 收藏集 - 掘金
查看>>
Linux-Centos启动流程
查看>>
php 设计模式
查看>>