Map 集合
《零基础学Java 》
Map 集合
在程序中需要存储具有映射关系就需要使用Map集合了。
Map集合由Map接口、Map接口的实现类组成。
Map 接口
Map接口没有Collection接口。
Map接口**提供了 **Key 到 Value 的映射关系。
Map接口中不能包含相同的 key ,并且每个 Key 只能映射一个 Value。
Map接口常用的方法

(PS:该图片为 明日科技 出版的《零基础学JAVA》中的)
Map接口的实现类
Map接口常用的两种方法
- HashMap类:HashMap类是Map接口的实现类。HashMap类能够快速通过哈希表快速查找内部的映射关系,但是不能保证映射的顺序。在 Key(键) - Value(值) 中,Key 不能重复,所以只能有一个 Key 为null,但是可以有多个 Value 为null。
- TreeMap类:TreeMap类是Map接口的实现类,还实现了 java.util.SortedMap 接口。使用TreeMap类实现的Map集合存储 Key(键) - Value(值) 时,需要对 Key 进行排序,所以Value不能为null。
(PS:我们通常使用 HashMap类 去实现Map集合。)
实例演示
import sun.reflect.generics.tree.Tree;
import java.util.*;
public class Demo5 {
public static void main(String[] args) {
// Map map = new HashMap();
Map map = new TreeMap();
//K(键),v(velue)
/**
* HashMap可以放入任何值
* TreeMap不能保存null值,保存值要是对象
*/
map.put("String","这是字符串");
map.put("Object",new Object());
map.put("int",12345);//不同的键可以保存相同的值
map.put("数字",12345);
map.put(1,"1");//TreeMap方法的键值,要是个对象
map.put(new Object(),new Object());
map.put(null,null);//HashMap也可以保存null
System.out.println("map中元素个数:"+map.size());
Set set = map.keySet();//把所以的K(键)输出
Iterator iterator = set.iterator();//创建迭代器
// while (iterator.hasNext()){
//// System.out.println(iterator.next());//输出所有的K(键)
//
// Object obj = iterator.next();//通过Object对象获取值
// System.out.println("Key="+obj+"\t\t\tvalue="+map.get(obj));//输出所有的值
// }
System.out.println(map.get("String"));//通过键,获取velue值
}
}
Map 集合的更多相关文章
- Java版本:识别Json字符串并分隔成Map集合
前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些 ...
- Java常用的几种集合, Map集合,Set集合,List集合
Java中 Object是所有类的根 Java集合常用的集合List集合.Set集合.Map集合 Map接口常用的一些方法 size() 获取集合中名值对的数量 put(key k, value v ...
- Map集合
1:Map (1)将键映射到值的对象. 一个映射不能包含重复的键:每个键最多只能映射到一个值. 键值对的方式存在 (2)Map和Collection的区别? A:Map 存储的是键值对形式的元素,键唯 ...
- MyBatis的一系列问题的处理(遍历Map集合和智能标签和属性和字段不一样的解决办法 和sql片段)(三)
一.字段名与属性名(数据库的名字)不一样怎么办? 方案一:在小配置中配置一个resultMapper <!--方案一:resultMapper 字段名与属性名不一致 --> <res ...
- Map集合及与Collection的区别、HashMap和HashTable的区别、Collections、
特点:将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值. Map集合和Collection集合的区别 Map集合:成对出现 (情侣) ...
- java://Comparator、Comparable的用法(按照要求将map集合的键值对进行顺序输出)
import java.util.*; public class Person implements Comparable<Person>//使Person的属性具有比较性 { priva ...
- Java集合类学习笔记(Map集合)
Map用于保存具有映射关系的数据,因此Map集合里保存着两组数据,一组用于保存Map的key,一组用于保存key所对应的value. Map的key不允许重复. HashMap和Hashtable都是 ...
- java学习第18天(map集合)
Map集合是将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. 存储的是键值对形式的元素,键唯一,值可以重复,有点类似于数据库中的主键加数据.主要功能有: A:添加功能 put ...
- Map集合 总结
(本人第一次写博客,部分内容有参照李刚老师的疯狂java系列图书,如有遗漏错误,请多指教,谢谢.) Java的集合类可分为Set.List.Map.Queue,其中Set.List.Queue都有共同 ...
- Map集合的应用及其遍历方式
---> HashMap :底层基于哈希表 存储原理也使用哈希表来存放的: 往HashMap添加了元素 ,首先会调用键的hashCode方法 获得一个哈希值,然后 ...
随机推荐
- Mysql Json函数之更新 (四)
修改JSON值的函数 本节中的函数将修改JSON值并返回结果. JSON_APPEND(json_doc, path, val[, path, val] ...) 将值附加到JSON文档中指定数组的末 ...
- MAC OS 常用快捷键
删除文件或文件夹 commond + delete 复制文件或文件夹 commond + c 粘贴文件或文件夹 commond + v
- 有关OPenCV的几个库函数的使用
转载请注明来源:https://www.cnblogs.com/hookjc/ 1) IplImage* cvCreateImage( CvSize size, int depth, int chan ...
- MHA高可用配置及故障切换
MHA高可用配置及故障切换 目录 MHA高可用配置及故障切换 一.案例概述 二.案例前置知识点 1. MHA概述 2. MHA的组成 (1)MHA Manager(管理节点) (2)MHA Node( ...
- JavaWeb项目中斜杠(/)表示web工程、webapps的场景
"/"代表当前web工程的常见应用场景 ①.ServletContext.getRealPath(String path)获取资源的绝对路径 /** * 1.ServletCont ...
- 如何在Kubernetes 里添加自定义的 API 对象(一)
环境: golang 1.15 依赖包采用go module 实例:现在往 Kubernetes 添加一个名叫 Network 的 API 资源类型.它的作用是,一旦用户创建一个 Network 对象 ...
- C#动态规划法计算文本相似度
C# 采用动态规划算法,计算两个字符串之间的相似程度. public static double CountTextSimilarity(string textX, string textY, boo ...
- php发送邮件 (phpmailer)
1.首先下载phpMailer文件官方文件https://sourceforge.net/projects/phpmailer/: 还有class.smtp.php. 2.去配置一下发送邮件的服务器, ...
- Mapper代理方式
MyBatis入门初体验时,使用mapper的方式: 很奇怪,为什么只有interface二没有实现,怎么就可以从数据库中查出准确的数据.其实Mybatis利用了JDK动态代理实现了相应功能,下面详细 ...
- Linux系统安装tomcat9服务(含jdk的安装)
使用虚拟机上CentOS8系统. 1.安装tomcat的依赖jdk版本11 将jdk11解压至相应目录: 设置环境变量: 末尾添加: 更新配置文件: 验证: 补充使用yum安装jdk的方式: 1)查看 ...