Map

Map

java.util.Map<K,V>接口:HashMap实现类 LinkedHashMap实现类

  • 特点:
    1. 是一个双列集合,一个元素包含两个值(key,value)
    2. key与value的数据类型可以相同,也可以不同
    3. key不允许重复
    4. 一个key只对应一个value

HashMap与LinkedHashMap

  1. HashMap

    • HashMap存储自定义类型键值
    • 作为key的元素,必须重写hashCode方法和equals方法
    • Person同名同年龄为同一个人
    • 底层原理:链表+数组 当长度超过8时变为红黑树
  2. LinkedHashMap

    • java.util.LinkedHashMap< K,V> extends HashMap< K,V>
    • Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序,有序的,存储和取出的顺序一样
    • 底层原理:哈希表 + 链表(记录元素的顺序)

循环遍历

  1. keyset

    • public Set< K> keySet();返回此映射中包含的键的 Set 视图。
    • 通过此方法遍历map集合
  2. entryset

    • public Set<Map.Entry<K,V>> entrySet();返回此映射中包含的映射关系的 Set 视图。
    • 通过此方法遍历map集合

JDK9中的一个特性

  • List接口,Set接口,Map接口:里边增加了一个静态的方法of,可以给集合一次性添加多个元素
    • 使用前提:
      • 当集合中存储的元素个数已经确定了,不在改变时使用
    • 注意:
      1. of方法只适用于List接口,Set接口,Map接口,不适用于接口的实现类
      2. of方法的返回值是一个不能改变的集合,集合不能再使用方法进行元素的添加删除等操作,会抛出异常
      3. Set接口和Map接口在使用时不能有重复的元素,否则会抛出异常
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信