
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
如果你要学java编程,你可以去市面上看一下,对比一下,俗话说货比三家,我也是看了好几家,最后在长沙达内培训学java出来的,现在工资还不错,如果你是真的想学的话,我想是有好处的。我也不是计算机本专业,甚至在旁人看来都是和计算机不搭边的物流工程,在学校的时候学过一点有些基础后来想充实下把基础打牢就报了培训班。
今天我们来学习Map ,Map 的字面翻译是映射(地图就是一种映射)。将键映射到值的对象,一个映射不能包含重复的键(如果有添加有重复的键,后面的会覆盖掉前面的,但是如果是自定义类型必须重写hashCode()和equals()方法),每个键最多只能映射到一个值。
map是Java中提供的一种通用的元素存储方式,它是一种集合类。map集合类用于存储键值对(“键”、“值”)即Map
在JavaSE中,对Map的实现主要包括: HashMap, TreeMap, HashTable 和 LinkedHashMap:
HashMap 使用哈希表(hash table)实现, 在 keys 和/或 values 之中,都是无序的.
TreeMap 基于红黑树(red-black tree)数据结构实现, 按 key 排序.
LinkedHashMap 保持者插入顺序.
Hashtable 与HashMap实现方式一样,但Hashtable属于同步(synchronized)的.
长沙it培训老师觉得所以如果代码是线程安全的,那么应该使用HashMap,因为Hashtable的同步是有一定量的运行代价的。而现今对于需要同步的Map,使用 ConcurrentHashMap 也比 Hashtable 有更高的效率。
注:map中的key和value都必须是Object(除非指定了泛型)
Map接口和Collection接口的不同
Map是双列的,Collection是单列的
Map的键唯一,Collection的子体系Set是唯一的
Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结构是针对元素有效。
Map集合没有直接取出元素的方法,而是先转成Set集合,在通过迭代获取元素
好了以上就是关于Map的知识,想要了解更多java程序猿学习知识就来长沙达内官网了解吧!
扫码加入试听课程报名!