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

  • 相关阅读:
    LR网页细分图中的时间详解
    LoadRunner系列实例之— 01录制cas登陆脚本
    Oracle 身份证校验
    Oracle中执行存储过程call和exec区别
    MD5 加密的密码在数据库重置
    python学习 (二十九) range函数
    python学习 (二十八) Python的for 循环
    二十一 守护线程
    二十 线程的优先级
    十九 yield方法
  • 原文地址:https://www.cnblogs.com/codderYouzg/p/12416679.html
Copyright © 2011-2022 走看看