栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Map接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Map接口

1.Map的实现类:

1.1HashMap:主要实现类;线程不安全,效率高,可储存null;底层为数组+链表(jdk7),数组+链表+红黑树(jdk8)

1.1.1inkedHashMap:保证遍历时可按照添加顺序实现遍历

1.2Hashtable:古老实现类:线程安全,效率低;不能存储null

1.2.2Properties:常用来处理配置文件。Key和value都是string类型

1.3TreeMap:保证按照添加的KEY_value对排序,实现排序遍历。此时考虑key的自然排序和定制排序;底层为红黑树

2.key—value的特点

Key无序,不可重复,使用set存储

value无序,可重复,使用collection储存

map中的entry无序,不可重复,使用set存储

3.HashMap的底层实现原理

3.1jdk7:

HashMap map = new HashMap();//实例化后,底层创建长度为16的一维数组Entry[] table。
//...(添加操作)
map.put(key,value);

//...(添加操作)

3.2jdk8与jdk7的不同:

底层数组变为Node[];

实例化时没有创建数组,调用put方法是创建数组;

底层结构变为数组+链表+红黑树(当数组的某一个索引位置上的元素以链表的形式存在的数据个数大于8且当前数组长度大于64时,此时此索引位置上的数据改为红黑树储存)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号