首先,先讲一下什么是Map:

Map它属于一种独特的集合结构,他储存的时候有一对的键值对,键值对相互映射,可以根据key键(唯一)可以找到value值

那我们之前学习过的数组、集合等,他们最多也是通过内容或者下标来获取相应的值,但是Map可以通过我们指定的内容获取其他内容,比如,我们输入我们的身份证号,然后就可以通过这一串身份证号码调取我们的个人信息;
或者输入我们的学号 ,可以通过这个学号,查到我们是哪个班级的;

比如:代码演示:

/*
*
* map测试
*
* */
public class MapTest {public static void main(String[] args) {//创建Map集合(HashMap),传入两个参数对象,Integer,String(自动装包)Map<Integer,String> a =new HashMap<>();a.put(123,"张三");//put代表填入数据,此时的123,对应我们一开始创建的两个参数对象Integer,String//通过get对数据进行取值,输入键即可String s = a.get(123);System.out.println(s);//map集合的遍历//使用keySet()方法进行遍历Set<Integer> set = a.keySet();for (Integer k :set) {System.out.println(k+"---"+a.get(k));}}
}

上面这个就是使用了hashMap集合:

  • 采用Hashtable哈希表存储结构
  • 优点:添加速度快 查询速度快 删除速度快
  • 缺点:key无序

Map除了hashMap,还有LinkedHashMap,TreeMap ,他们呢两者同时都具备一些优点和缺点,但在项目的使用中,还是看具体的需求;

LinkedHashMap

  • 采用哈希表存储结构,同时使用链表维护次序
  • key有序(添加顺序)

TreeMap

  • 采用二叉树(红黑树)的存储结构
  • 优点:key有序 查询速度比List快(按照内容查询)
  • 缺点:查询速度没有HashMap快

Map集合类型总结,常见Map集合有哪些?他们的优缺点分别是什么?相关推荐

  1. python中的集合类型_Python中的集合类型知识讲解

    >>> s.add('z') >>> s set(['c', 'e', 'h', 'o', 'p', 's', 'z']) >>> s.updat ...

  2. dart map 转list_Dart 集合类型List Set Map循环forEach map where any every

    List常用属性和方法: 常用属性: length 长度 reversed 翻转/倒序排序 isEmpty 是否为空 isNotEmpty 是否不为空 常用方法: add 增加 addAll 拼接数组 ...

  3. Scala中集合类型与java中集合类型转换

    对于java中的集合元素并不能在scala中拿来就用的,需要进行相应的转换. 1. 转换规则如下 从下面可以看出,有些可以相互转换的,有些只能单向转换: scala.collection.Iterab ...

  4. ue4集合类型_UE4项目问题集合

    debugeditor模式下,在LoadPackage过程中crash,vs报出Stack overflow的错误 这是由于Package层数过多,vs栈不够用导致的.而ue4用UBT导致不能直接修改 ...

  5. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合...

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

  6. [Spring5]IOC容器_Bean管理XML方式_注入集合类型属性

    xml注入集合属性 1.注入数组类型属性 2.注入List集合类型属性 3.注入Map集合类型属性 (1)创建类,定义数组,list,map,set类型属性,生成对应set方法 package com ...

  7. IOC操作Bean管理XML方式(注入集合类型属性)

    目录 IOC操作Bean管理XML方式(注入集合类型属性) (1)首先进行环境的搭建和准备 (2)创建一个类:用来完成集合类型属性注入 (3)在Spring 配置文件进行配置 (4)编写一个测试类进行 ...

  8. Python Set:一文彻底粉碎集合类型

    一.组合数据类型container objects 组合数据类型container objects:能够表示多个数据的类型 集合类型:集合类型是一个元素集合,元素无序不重不变 序列类型:序列类型是一个 ...

  9. oracle集合类型详解

    1.集合类型 1.1关联数组 1.2嵌套表 1.3 可变长的数组 2.声明集合类型 2.1声明关联数组 2.2声明嵌套表 2.3声明VARRAY 3.集合变量的声明和初始化 3.1集合变量的声明 3. ...

  10. Oracle PL/SQL开发基础(第十七弹:集合类型)

    集合是PL/SQL提供的用来同时处理多个数据的一种数据结构.如果说记录是一个单行多列的数据结构,那么集合就是一种单列多行的数据结构. 集合简介 集合类似于高级语言中的列表或一维数组,主要用来存储具有相 ...

最新文章

  1. 揭秘:机器究竟是怎么学习的?
  2. TreeView控件之,后台构建TreeView(WinForm小程序)
  3. linux 怎么设置静态ip,如何在Linux中设置静态IP地址和配置网络
  4. WebSocket教程(一)
  5. 延迟加载图片 Lazy Load
  6. “wget”不是内部或外部命令,也不是可运行的程序或批处理文件
  7. MOOON-agent系统设计与使用说明
  8. 高速接口----JESD 204B(1)
  9. 《创新思维训练》2021网课章节测验及答案
  10. 如何转行做数据分析师?
  11. LBS学习相关网址(Jonathan Raper教授整理)
  12. vb 复制 剪贴板 html,用vb实现将脚本的输出复制到剪贴板
  13. 照片尺寸对照表[转]
  14. 第一章 Vue基础入门
  15. 低照度图像增强论文阅读笔记——ZERO-SHOT RESTORATION OF UNDEREXPOSED IMAGES VIA ROBUST RETINEX DECOMPOSITION
  16. python调用浏览器内核实现内嵌浏览器_python实现随机调用一个浏览器打开网页
  17. Matlab 与stm32单片机之间的串口通信
  18. C#条型码二维码批量识别工具 可以从粘贴板获取图片或路径等 MFC消息示例
  19. Linux进程管理进程优先级nice
  20. TQ2440第一个裸板程序led

热门文章

  1. 【语音识别】基于matlab说话人识别系统【含Matlab源码 1704期】
  2. 【时间序列预测】基于matlab鲸鱼算法优化LSTM时间序列预测【含Matlab源码 1687期】
  3. 【VRP】基于matlab改进的模拟退火和遗传算法求解车辆路径规划问题【含Matlab源码 343期】
  4. 【元胞自动机】基于matlab元胞自动机求解城市小区开放对周边道路通行影响研究【含Matlab源码 233期】
  5. SPSS 项目分析(图文+数据集)【SPSS 032期】
  6. 鸿蒙造化什么意思,大家说鸿蒙造化决,和鸿蒙天地有关系吗
  7. oracle数据库双机热备原理,oracle数据库双机热备方案
  8. 县级外业调查及举证软件_省三调办举办全省第三次全国国土调查统一时点更新省级技术培训会...
  9. java 打牌游戏_java代码-----实现4个人打牌游戏的相关代码。线程
  10. signature=0fa666ae90cad1ed3ef6de6b7db4e5a3,A meta-analysis on correlations of