zoukankan      html  css  js  c++  java
  • 详解 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

  • 相关阅读:
    我国自主研发的先进辅助驾驶系统(ADAS)控制器产品实现量产配套
    国务院印发《新一代人工智能发展规划》
    如何删除svn标签
    【转载】DHCP流程
    1-1 如何进行自我规划?
    人要像鹰一样重生、蜕变、成长
    人的一生好像乘坐北京地铁一号线
    【转载】接触Matlab10年后的一个总结,随时使用Matlab要掌握的一些要点
    【转载】BAT 批处理脚本教程
    SNAT 和 DNAT
  • 原文地址:https://www.cnblogs.com/codderYouzg/p/12416679.html
Copyright © 2011-2022 走看看