c++ map的存储结构_「软帝学院」java集合类框架map及相关常见问题二
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及相关常见问题二相关推荐
- java集合详解_「软帝学院」Java进阶者专栏:集合框架详解3
软帝学院笔记Day14 集合框架(HashSet存储字符串并遍历) A:Set集合概述及特点 通过API查看即可 B:案例演示 HashSet存储字符串并遍历 HashSet hs = new Has ...
- java query接口_「软帝学院」Java零基础学习详解
软帝学院笔记Day26 01DButils工具类的介绍个三个核心类 * A: DButils工具类的介绍个三个核心类 * a: 概述 * DBUtils是java编程中的数据库操作实用工具,小巧简单实 ...
- c++文件流读取一行_「软帝学院」Java挑战者专栏:IO流详解2
软帝学院笔记Day18 IO流(字符流FileReader) 1.字符流是什么 字符流是可以直接读写字符的IO流 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符 ...
- 多线程怎么保证数据安全_「软帝学院」Java挑战者专栏:多线程详解2
软帝学院笔记Day21 多线程(单例设计模式)(掌握) 单例设计模式:保证类在内存中只有一个对象. 如何保证类在内存中只有一个对象呢? (1)控制类的创建,不让其他类来创建本类的对象.private ...
- boolean类型默认值_「软帝学院」Java的基本数据类型
Java的基本数据类型 Java的两大数据类型: · 内置数据类型 · 引用数据类型 内置数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型 ...
- scala list 接受java string_「软帝学院」Java零基础学习详解
软帝学院笔记Day26 01DButils工具类的介绍个三个核心类 * A: DButils工具类的介绍个三个核心类 * a: 概述 * DBUtils是java编程中的数据库操作实用工具,小巧简单实 ...
- 软帝java_「软帝学院」Java怎么学?从零开始学Java!
软帝学院Java学习笔记Day1 Java语言基础(常量的概述和使用) · A:什么是常量 o 在程序执行的过程中其值不可以发生改变 · B:Java中常量的分类 o 字面值常量 o 自定义常量(面向 ...
- simplexmlelement类设置编码_「软帝学院」:2019java五大常用工具类整理
1.json转换工具 1. package com.taotao.utils; 3. import java.util.List; 5. import com.fasterxml.jackson.co ...
- java 画笔跟swing组件_「软帝学院」:2019思维最清晰的java学习路线
第一步 首先要做好学习前的准备工作:java语言一般用于大型的服务器程序开发,所有有必要了解如下内容:Unix开发环境Unix系统原理.Unix开发环境.Unix常用命令.熟练掌握Unix常用命令:熟 ...
最新文章
- 23、HTML图像按钮
- Linux下将数据文件的指定域读取到shell脚本中
- 电脑老是弹出vrvedp_m_出现三个可疑进程vrvedp_m.exe vrvrf_c.exe vrvsafec.exe
- pythonnumpy函数四舍五入_NumPy函数
- 福大软工1816 - 第四次作业(团队展示)
- Jenkins 持续集成平台构建之通过git提交代码
- mapxtreme2008 7.0错误
- 关于格林尼治时间(GMT)和DateTime相互转换的分享
- 免费wechat机器人教程
- 武汉Java程序员工资是否还会增长?工资为什么那么高?
- 易语言可以写鸿蒙系统,华为王成录:鸿蒙 OS 系统是不同设备的统一语言
- 私募量化策略超额收益来源分析
- 全球最昂贵的10大科技产品
- 一文看完2018苹果秋季新品发布会,你想知道的问题这里都有答案!
- Java开源JEE框架
- (超详细)强大的grid布局
- 含磷废水处理——有机磷无机磷吸附
- 基于Matlab的MIMO通信系统仿真
- 天云数据中标某股份制证券公司项目 提供国产企业级人工智能平台服务
- Excel计算年龄(工龄)方法一则
热门文章
- ABB 机器人 IRBP系列转台的一段代码注释
- 【Python数据结构】——并查集的实现(查找、合并、集合、实例)
- ANSYS——常见梁的后处理方法(弯曲应力、弯矩、轴力等的显示)
- Halcon —— 边缘检测算子详解
- excel打开后灰色不显示内容_Excel二维表转换,一分钟就够
- mysql查询的时候会涉及到锁_Mysql 查询 锁的问题?
- 3.3.10 动态SQL
- java 反射(Reflection) 详解
- 一键去除网页BOM属性【解决乱码,头部空白,#65279问题】
- 画像分析(3-3)标签建模-模型管理-新建关系