• 21天学习第十二天-Map集合


    活动地址:CSDN21天学习挑战赛

    Map集合概述和使用

            Map集合是一种双列集合,每个元素包含两个数据

            Map集合的每个元素的格式:key=value(键值对元素)。

            Map集合也被称为“键值对集合”。

    Map集合整体格式:

            Collection集合的格式: [元素1,元素2,元素3..]

            Map集合的完整格式:{key1=value1 , key2=value2 , key3=value3 , ...}

    1.Map集合是什么?使用场景是什么样的?

            Map集合是键值对集合

            Map集合非常适合做类购物车这样的业务场景。

     Map集合体系

    Map集合体系特点

    Map集合的特点都是由键决定的。
    Map集合的键是无序,不重复的,无索引的 不做要求(可以重复)。
    Map集合后面重复的键对应的 会覆盖前面 重复键的值

           Map集合的键值对都可以为null。 

    Map集合实现类特点

    HashMap:元素按照键是无序,不重复,无索引,值不做要求。 Map 体系一致
    LinkedHashMap:元素按照键是 有序 ,不重复,无索引,值不做要求。
    TreeMap :元素按照建是 排序 ,不重复,无索引的, 值不做要求。

     

    Map集合

    Map 是双列集合的祖宗接口,它的功能是全部双列集合都可以继承使用的。
    Map API如下:

    方法名称

    说明

    V put(K key,V value)

    添加元素

    V remove(Object key)

    根据键删除键值对元素

    void clear()

    移除所有的键值对元素

    boolean containsKey(Object key)

    判断集合是否包含指定的键

    boolean containsValue(Object value)

    判断集合是否包含指定的值

    boolean isEmpty()

    判断集合是否为空

    int size()

    集合的长度,也就是集合中键值对的个数

     

     使用最多的Map集合是HashMap

    重点掌握HashMap , LinkedHashMap , TreeMap。其他的后续理解。

    HashMap的特点

    HashMap Map 里面的一个实现类。 特点都是由键决定的 :无序、不重复、无索引
    没有额外需要学习的特有方法,直接使用 Map 里面的方法就可以了。
    HashMap HashSet 底层原理是一模一样的,都是哈希表结构,只是 HashMap 的每个元素包含两个值而已。

    实际上:Set系列集合的底层就是Map实现的,只是Set集合中的元素只要键数据,不要值数据而已。

    HashMap的特点和底层原理

    由键决定:无序、不重复、无索引。 HashMap 底层是哈希表结构的。
    依赖 hashCode 方法和 equals 方法保证 的唯一。
    如果 要存储的是自定义对象,需要重写 hashCode equals 方法。
    基于哈希表。增删改查的性能都较好。
    1. TreeMap 集合的特点是怎么样的?
    l 根据键可排序、不重复、无索引
    l 底层基于红黑树实现排序,增删改查性能较好
    2. TreeMap 集合自定义排序规则有几种方式
    l 2 种。
    l 类实现 Comparable 接口,重写比较规则。
    l 集合自定义 Comparator 比较器对象,重写比较规则。

     

    Map集合实现类特点

    HashMap:元素按照键是无序,不重复,无索引,值不做要求 ,基于哈希表 Map 体系一致
    LinkedHashMap:元素按照键是 有序 ,不重复,无索引,值不做要求 基于哈希表
    TreeMap :元素只能按照键 排序 ,不重复,无索引的, 值不做要求 ,可以做排序

  • 相关阅读:
    基于PHP+MySQL月子中心管理系统的设计与实现
    java毕业设计网站springmvc的校园失物招领管理平台[包运行成功]
    软件设计师(八)算法设计与分析
    高速专线不打烊 DPDK Hotplug助你实现设备动态管理
    不只是负载均衡,活字格智能集群的架构与搭建方案
    文举论金:9.13黄金原油全面走势分析策略指导。
    实习记录--(海量数据如何判重?)--每天都要保持学习状态和专注的状态啊!!!---你的未来值得你去奋斗
    Flowable 外置的 HTML 表单怎么玩?
    详细介绍如何使用Ipopt非线性求解器求解带约束的最优化问题
    Java之触发打印机打印
  • 原文地址:https://blog.csdn.net/yao583224426/article/details/126379417