java中map接口包含了哪些内容?详细解析

BSO 2020-09-14 09:48:42 java常见问答 5499

由于java的应用已经涉及到我们生活的方方面面了,这就直接促使了更多的人开始学习java以获得更高的工资和更好的生活水平。今天就来为大家介绍java中map接口包含了哪些内容并且详细解析。

首先来了解一下map接口的概念。

它是一种存储键值对映射的容器类,在Map中键可以是任意类型的对象,但不能有重复的键,每个键都对应一个值,真正存储在图中的是键值构成的条目。

一、java.util.Map

1.V get(Object key):获得与键对应的值

2.V put(K key, V value),V putAll(Mapentries):将键与对应的值关系插入到映射中

3.boolean containKey(Object key),boolean containValue(Object value):查询

二、java.util.HashMap

HashMap是基于哈希表的Map接口的非同步实现,它继承自abstractMap。AbstractMap是部分实现Map接口的抽象类。在原来的版本中,HashMap采用数组+链表实现,也就是使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当链表中的元素较多,也就是hash值相等的元素较多时,通过key值依次查找的效率比较低下。但是在JDK1.8中,HashMap采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大减少了查找时间。

三、java.util.LinkedHashMap

LinkedHashMap继承自HashMap,它主要是用链表实现来扩展HashMap类,HashMap中条目是没有顺序的,但是在LinkedHashMap中元素可以按照它们插入图的顺序排序,同时也可以按它们最后一次被访问的顺序排序。

四、java.util.TreeHashMap

TreeMap是基于红黑树数据结构的实现,键值可以使用Comparable或Comparator接口来排序。它继承自AbstractMap,与此同时实现了接口NavigableMap,但是接口NavigableMap却继承自SortedMap。SortedMap是Map的子接口,使用它可以确保图中的条目是排好序的。在实际的应用当中,如果更新图时不需要保持图中元素的顺序,就使用HashMap;如果需要保持图中元素的插入顺序或者访问顺序,就使用LinkedHashMap;如果需要使图按照键值排序,就使用TreeMap。

以上就是关于java中map接口包含了哪些内容的详细解析。如果你对java知识感兴趣,想要了解更多java基础以及常见问题,敬请关注奇Q工具网。

推荐阅读:

java枚举(enum)详解,EnumMap类

java遍历Map集合的四种方式介绍

java Map集合详细介绍,java map