Map集合
Map集合的特点
1)Map集合可以一次性存储两个对象;
2)在Map集合中保存的key和value这样的具备一定对应关系的一组(一对)数据,Map集合中存储的是两个对象的对应关系(映射关系)。[ key-value映射关系 ];
3)Map集合中的key必须保证唯一(存储的key元素不能重复,value可以重复,但是一个key只能对应一个value);
4)Map集合中的key和value属于一一对应关系(一个key只能对应一个value)
Map和Collection的区别
1)Map中键唯一,值没有要求。Collection中只有Set体系要求元素唯一;
2)Map的数据结构针对键而言,Collection的数据结构针对元素而言;
3)Map是双列集合顶级接口,Collection是单列集合顶级接口,他们两个分别是两种集合的顶级接口,之间没有必然的联系;(Collection集合中只能存储一个对象元素,称为单列集合。Map集合中其实存储的是两个单列集合,称为双列集合。)
Map接口下有2个实现类:
HashMap 特点:
1)HashMap底层是哈希表;
2)键唯一,要保证键唯一,所以底层的哈希表主要作用在key上。存在HashMap的键位置的对象所属类必须复写hashCode和equals函数,而
存在value位置的对象所属的类可以不复写hashCode和equals函数;
3)存取无序;
4)线程不安全,所以效率高;
补充:由于HashMap底层是哈希表,而HashMap集合上面的键又是保存在哈希表中的。所以根据哈希表的特点,保存在HashMap键的位置上数据都要复写hashCode()和equals()函数,这样才能保证key值唯一和存取无序。
HashMap集合中的所有方法全部来自于Map接口,对Map接口中的方法做了全部的实现。
LinkedHashMap集合
特点:
1)存取有序;链表
2)元素唯一;哈希表
Hashtable集合
Hashtable:它是JDK1.0版本中提供的一个双列集合,Hashtable不允许null。它后期被HashMap代替。它的使用和HashMap一致。Hashtable是安全的,但是效率低。HashMap不安全,效率高。
Map总结
Map
|--HashMap 存储无序
|-- LinkedHashMap 存储有序
如何选择Map?
是否需要存储有序呢?
存储无序:HashMap
存储有序:LinkedHashMap
面试题:HashMap和Hashtable的区别?
联系:
底层都是哈希表结构,所以键唯一,存取无序。
区别:
A:HashMap可以允许null,Hashtable不允许null
B:HashMap线程不安全,所以效率高,Hashtable线程安全,所以效率低
本博客文章均已测试验证,欢迎评论、交流、点赞。
部分文章来源于网络,如有侵权请联系删除。
转载请注明原文链接:https://www.cnblogs.com/sueyyyy/p/9338833.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix