详解 Map集合

(请关注 本人“集合总集篇”博文——《详解 集合框架》

首先,本人来讲解下 Map集合 的特点

Map集合 的特点:

特点:
通过 键 映射到 值的对象
一个 映射 不能包含重复的键
每个 键 最多只能映射到一个值


Map集合 的继承体系:

Map接口是集合框架 的 顶层接口之一,而Map接口的继承体系如下所示:

子接口:
Bindings, ConcurrentMap<K,V>, ConcurrentNavigableMap<K,V>, LogicalMessageContext, MessageContext, NavigableMap<K,V>, SOAPMessageContext, SortedMap<K,V>

子实现类:
HashMap,
LinkedHashMap,
Hashtable,
AbstractMap, Attributes, AuthProvider, ConcurrentHashMap, ConcurrentSkipListMap, EnumMap, IdentityHashMap, PrinterStateReasons, Properties, Provider, RenderingHints, SimpleBindings, TabularDataSupport, TreeMap, UIDefaults, WeakHashMap

上示为 Map接口的 实现类 和 子接口。
但是,在我们今后的学习工作过程中,主要应用的 实现类 和 子接口 如下:
在这里插入图片描述


Map集合 的常用API:

本人现在按照功能来介绍一下这个接口的API,以便后续内容的讲解:

  1. 添加功能
  • V put(K key,V value):
    添加/替换 元素
    如果 键是第一次存储,就 直接存储元素,返回null
    如果 键不是第一次存在,就 用值把以前的值替换掉,返回以前的值
  1. 删除功能
  • void clear():
    移除所有的键值对元素

  • V remove(Object key):
    据键删除键值对元素,并把值返回

  1. 判断功能
  • boolean containsKey(Object key):
    判断集合是否包含指定的键
  • boolean containsValue(Object value):
    判断集合是否包含指定的值
  • boolean isEmpty():
    判断集合是否为空
  1. 获取功能
  • Set<Map.Entry<K,V>> entrySet():
    返回一个键值对的Set集合
  • V get(Object key):
    根据键获取值
  • Set keySet():
    获取集合中所有键的集合
  • Collection values():
    获取集合中所有值的集合
  1. 长度功能
  • int size():
    返回集合中的键值对的对数

Map集合 的 注意事项:

注意事项

注意 键 的类型是否重写了equals()方法
(是否录入是靠 已存在HashMap集合中的键值对的 键要录入的键值对的 键equals()的返回值

  • 返回true,则 用新键值对覆盖旧键值对
  • 返回false,则 直接录入新键值对)

那么,现在,本人就来讲解下这个接口的常用的四个子类 —— HashMap、HashtableLinkedHashMapTreeMap 吧:

HashMap:

请观看本人博文 —— 《详解 HashMap》


Hashtable:

请观看本人博文 —— 《详解 Hashtable》


LinkedHashMap:

请观看本人博文 —— 《详解 LinkedHashMap》


TreeMap:

请观看本人博文 —— 《详解 TreeMap》


(集合总集篇链接:https:////www.cnblogs.com/codderYouzg/p/12416560.html

posted @ 2020-03-04 22:27  在下右转,有何贵干  阅读(414)  评论(0编辑  收藏  举报