首页 > 其他分享 >Map集合和Map常用的子类

Map集合和Map常用的子类

时间:2022-10-17 10:02:52浏览次数:43  
标签:Map 映射 子类 元素 链表 集合

Map集合概述

将键映射到值对象 一个映射不能包含重复的键 每个键最多只能映射到一个值

现实生活中 我们常会看到这样的一种集合:IP地址与主机名 身份证号与个人 系统用户名与系统用户对象等

这种—对应的关系就 叫做映射 java通过了专门的集合类用来存放这种对象关系的对象 就是Map接口 它是隶属于java.util包下

 

 Collection中的集合,元素是孤立存储的(可以理解为单身) 向集合中存储元素采用一个个元素的方式存储

Map中的集合 元素是成对存在的(可以理解为夫妻)每个元素由键和值两个部分组成 通过键可以找对应的值

Collection中的集合称为单列集合 Map中的集合称为双列集合

需要注意:Map中的集合不能包含重复键 值可以重复 每个键只能对应一个值

Map集合的特点

1.Map集合是一个双列集合,一个元素包含两个值(一个key,一个value)

2.Map集合中的元素 key和value的数据类型可以相同 也可以不同

3.Map集合中的元素 key是不允许重复的 value也可以重复的

4.Map集合中的元素 key和value是一一对应

Map常用的子类

1.HashMap基于哈希表的Map接口的实现 此类不能保证映射的顺序 特别是它不能保证顺序恒久不变

HashMap集合的特点:

  1.HashMap集合底层是哈希表:查询的速度特别特别的快

    JDK1.8之前:数组+单向链表

    JDK1.8之前:数组+单向链表/红黑树(链表的长度超过8):提高查询的速度

  2.hashMap集合是一个无序的集合 存储元素和取出元素的顺序有可能吧一致

它的子类是LinkedHashMap

LinkedHashMap的特点

  1.LinkedHashMap集合底层是哈希表+链表

  2.LinkedHashMap集合是一个有序的集合 存储元素和取出元素的顺序是一致的

标签:Map,映射,子类,元素,链表,集合
From: https://www.cnblogs.com/shenziyi/p/16798103.html

相关文章

  • Map接口常见的方法和Map集合遍历键找值
    Map接口中定义了很多方法常见的如下:1.publicvput(kkey,vValue):把指定的键与指定的值添加到Map集合中2.publicvremove(Objectkey):把指定的键所对应的键值对元......
  • QFramework v1.0 使用指南 介绍篇:02.Roadmap-路线图
    将来也许sLua、toLua、xLua、ILRuntime支持Pro版本推进ArchitectureDesigner使用可视化设计架构,一键生成架构代码ResKit支持自定义目录方案UIKit支持多个C......
  • List集合和ArrayList集合
    List集合介绍List接口继承自Collection接口是单列集合的一个重要分支习惯将实现了list接口的对象称为List集合在List集合中允许出现重复的元素所有元素是以一种线性存......
  • LinkedList集合和Vectir集合
    LinkedList集合LinkedList集合数据存储的结构是链表结构,方便元素添加删除集合LinkedList集合特点:1.底层是一个链表结构:查询慢,增删快2.里边包含了大量操作首尾元素的......
  • set接口和HashSet集合和哈希值
    set接口set接口和List接口一样同样继承自Collection接口它与Collection接口中的方法基本一致并没有对Collection接口进行功能上的补充只是比Collection接口更加严格了......
  • Collection集合
    集合的概述集合:集合是java中提供一种容器可以用来存储多个数据数组的长度是固定的集合的长度是可变的数组中存储是同一类型的元素可以存储基本数据值集合存储的都是......
  • Java集合
    集合框架一.继承体系参考:https://blog.csdn.net/qq_43294932/article/details/122997571二.必背题HashMap的扩容机制?在1.7之前HashMap底层是数组+链表的方式,在......
  • sqlalchemy.orm.exc.UnmappedInstanceError: Class 'builtins.list' is not mapped
    修改前@app.route('/add_course')defadd_course():course1=Course('python基础')course2=Course('Python高级')course3=Course('Pythonweb基础')......
  • 集合汇总
    1.集合的理解与好处1.1数组长度开始时必须指定,而且一旦指定,不能更改保存的必须为同一类型的元素使用数组进行增加、删除元素比较麻烦//写出Person数组的扩容示......
  • 第二季:6CountDownLatch/CyclicBarrier/Semaphore使用过吗?【Java面试题】
    第二季:6CountDownLatch/CyclicBarrier/Semaphore使用过吗?【Java面试题】​​前言​​​​推荐​​​​6CountDownLatch/CyclicBarrier/Semaphore使用过吗?​​​​说明​​......