Map接口

通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图。

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

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

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

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

Map中常用的集合为HashMap集合、LinkedHashMap集合。

Map接口中常用集合概述

通过查看Map接口描述,看到Map有多个子类,这里我们主要讲解常用的HashMap集合、LinkedHashMap集合。

  • HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

  • LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

注意:Map接口中的集合都有两个泛型变量,在使用时,要为两个泛型变量赋予数据类型。两个泛型变量的数据类型可以相同,也可以不同。

Map接口中的常用方法

put方法:将指定的键与值对应起来,并添加到集合中,方法返回值为键所对应的值。

  • 使用put方法时,若指定的键(key)在集合中没有,则没有这个键对应的值,返回null,并把指定的键值添加到集合中;

  • 使用put方法时,若指定的键(key)在集合中存在,则返回值为集合中键对应的值(该值为替换前的值),并把指定键所对应的值,替换成指定的新值。

get方法:获取指定键(key)所对应的值(value)

remove方法:根据指定的键(key)删除元素,返回被删除元素的值(value)。

Map接口的方法演示

public class MapDemo { public static void main(String[] args) {//创建Map对象
Map map = new HashMap();//给map中添加元素
map.put("星期一

c++ map的存储结构_「软帝学院」java集合类框架map及相关常见问题二相关推荐

  1. java集合详解_「软帝学院」Java进阶者专栏:集合框架详解3

    软帝学院笔记Day14 集合框架(HashSet存储字符串并遍历) A:Set集合概述及特点 通过API查看即可 B:案例演示 HashSet存储字符串并遍历 HashSet hs = new Has ...

  2. java query接口_「软帝学院」Java零基础学习详解

    软帝学院笔记Day26 01DButils工具类的介绍个三个核心类 * A: DButils工具类的介绍个三个核心类 * a: 概述 * DBUtils是java编程中的数据库操作实用工具,小巧简单实 ...

  3. c++文件流读取一行_「软帝学院」Java挑战者专栏:IO流详解2

    软帝学院笔记Day18 IO流(字符流FileReader) 1.字符流是什么 字符流是可以直接读写字符的IO流 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符 ...

  4. 多线程怎么保证数据安全_「软帝学院」Java挑战者专栏:多线程详解2

    软帝学院笔记Day21 多线程(单例设计模式)(掌握) 单例设计模式:保证类在内存中只有一个对象. 如何保证类在内存中只有一个对象呢? (1)控制类的创建,不让其他类来创建本类的对象.private ...

  5. boolean类型默认值_「软帝学院」Java的基本数据类型

    Java的基本数据类型 Java的两大数据类型: · 内置数据类型 · 引用数据类型 内置数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型 ...

  6. scala list 接受java string_「软帝学院」Java零基础学习详解

    软帝学院笔记Day26 01DButils工具类的介绍个三个核心类 * A: DButils工具类的介绍个三个核心类 * a: 概述 * DBUtils是java编程中的数据库操作实用工具,小巧简单实 ...

  7. 软帝java_「软帝学院」Java怎么学?从零开始学Java!

    软帝学院Java学习笔记Day1 Java语言基础(常量的概述和使用) · A:什么是常量 o 在程序执行的过程中其值不可以发生改变 · B:Java中常量的分类 o 字面值常量 o 自定义常量(面向 ...

  8. simplexmlelement类设置编码_「软帝学院」:2019java五大常用工具类整理

    1.json转换工具 1. package com.taotao.utils; 3. import java.util.List; 5. import com.fasterxml.jackson.co ...

  9. java 画笔跟swing组件_「软帝学院」:2019思维最清晰的java学习路线

    第一步 首先要做好学习前的准备工作:java语言一般用于大型的服务器程序开发,所有有必要了解如下内容:Unix开发环境Unix系统原理.Unix开发环境.Unix常用命令.熟练掌握Unix常用命令:熟 ...

最新文章

  1. 23、HTML图像按钮
  2. Linux下将数据文件的指定域读取到shell脚本中
  3. 电脑老是弹出vrvedp_m_出现三个可疑进程vrvedp_m.exe vrvrf_c.exe vrvsafec.exe
  4. pythonnumpy函数四舍五入_NumPy函数
  5. 福大软工1816 - 第四次作业(团队展示)
  6. Jenkins 持续集成平台构建之通过git提交代码
  7. mapxtreme2008 7.0错误
  8. 关于格林尼治时间(GMT)和DateTime相互转换的分享
  9. 免费wechat机器人教程
  10. 武汉Java程序员工资是否还会增长?工资为什么那么高?
  11. 易语言可以写鸿蒙系统,华为王成录:鸿蒙 OS 系统是不同设备的统一语言
  12. 私募量化策略超额收益来源分析
  13. 全球最昂贵的10大科技产品
  14. 一文看完2018苹果秋季新品发布会,你想知道的问题这里都有答案!
  15. Java开源JEE框架
  16. (超详细)强大的grid布局
  17. 含磷废水处理——有机磷无机磷吸附
  18. 基于Matlab的MIMO通信系统仿真
  19. 天云数据中标某股份制证券公司项目 提供国产企业级人工智能平台服务
  20. Excel计算年龄(工龄)方法一则

热门文章

  1. ABB 机器人 IRBP系列转台的一段代码注释
  2. 【Python数据结构】——并查集的实现(查找、合并、集合、实例)
  3. ANSYS——常见梁的后处理方法(弯曲应力、弯矩、轴力等的显示)
  4. Halcon —— 边缘检测算子详解
  5. excel打开后灰色不显示内容_Excel二维表转换,一分钟就够
  6. mysql查询的时候会涉及到锁_Mysql 查询 锁的问题?
  7. 3.3.10 动态SQL
  8. java 反射(Reflection) 详解
  9. 一键去除网页BOM属性【解决乱码,头部空白,#65279问题】
  10. 画像分析(3-3)标签建模-模型管理-新建关系