博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Map介绍】
阅读量:5136 次
发布时间:2019-06-13

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

Map
(双列集合)
A:Map
集合的数据结构仅仅针对键有效,与值无关。
B:
存储的是键值对形式的元素,键唯一,值可重复。
HashMap
底层数据结构是哈希表。线程不安全,效率高
哈希表依赖两个方法:hashCode() equals()
执行顺序:
首先判断 hashCode()值是否相同
是:继续执行 equals(),看其返回值
true:说明元素重复,不添加
false:就直接添加到集合
否:就直接添加到集合
最终:
自动生成 hashCode() equals()即可
LinkedHashMap
底层数据结构由链表和哈希表组成。
由链表保证元素有序。
由哈希表保证元素唯一。
Hashtable
底层数据结构是哈希表。线程安全,效率低
哈希表依赖两个方法:hashCode() equals()
执行顺序:
首先判断 hashCode()值是否相同
是:继续执行 equals(),看其返回值
true:说明元素重复,不添加
false:就直接添加到集合
否:就直接添加到集合
最终:
自动生成 hashCode() equals()即可
TreeMap
底层数据结构是红黑树。(是一种自平衡的二叉树) 如何保证元素唯一性呢?
根据比较的返回值是否是 0 来决定
如何保证元素的排序呢? 两种方式
自然排序(元素具备比较性)
让元素所属的类实现 Comparable 接口
比较器排序(集合具备比较性)
让集合接收一个 Comparator 的实现类对象

转载于:https://www.cnblogs.com/zuixinxian/p/10340946.html

你可能感兴趣的文章
npm 常用指令
查看>>
20几个正则常用正则表达式
查看>>
TextArea中定位光标位置
查看>>
非常棒的Visual Studo调试插件:OzCode 2.0 下载地址
查看>>
判断字符串在字符串中
查看>>
hdu4374One hundred layer (DP+单调队列)
查看>>
类间关系总结
查看>>
properties配置文件读写,追加
查看>>
Linux环境下MySql安装和常见问题的解决
查看>>
lrzsz——一款好用的文件互传工具
查看>>
ZPL语言完成条形码的打印
查看>>
这20件事千万不要对自己做!
查看>>
Linux环境下Redis安装和常见问题的解决
查看>>
玩转小程序之文件读写
查看>>
HashPump用法
查看>>
cuda基础
查看>>
virutalenv一次行安装多个requirements里的文件
查看>>
Vue安装准备工作
查看>>
.NET 母版页 讲解
查看>>
Android Bitmap 和 Canvas详解
查看>>