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方法 获得一个哈希值,然后 ...
随机推荐
- android 安装gcc环境
看到了一篇关于Android上利用终端来使用gcc编译C/C++源程序的文章,我感到无比兴奋,所以立刻将我自己的安装过程记下来.那个后记也很有用的. gcc编译源代码需要创建临时文件,而gcc又只能安 ...
- 论java中System.arrayCopy()与Arrays.copyOf()的区别
如果我们想拷贝一个数组,我们可能会使用System.arraycopy()或者Arrays.copyof()两种方式.在这里,我们将使用一个比较简单的示例来阐述两者之间的区别. 首先先说System. ...
- C预备知识_001
程序由什么构成? 1.对数据的描述:在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式,其实这就是数据结构(data structure). 2.对操作的描述:即要求计算机就行操作的步骤,也 ...
- [转]有关ListIterator接口的add与remove方法探究
原文地址: http://www.java123.net/v/492971.html 应用案例: http://820199753.iteye.com/blog/2230032 ListIterato ...
- 安装 mysql 8.0后;root用户在客户端连接不上
--- mysql workbench Failed to Connect to MySQL at 10.211.55.6:3306 with user root Authentication plu ...
- 出现Table ‘./mysql/proc’ is marked as crashed and should be repaired
一般这种表崩溃的问题出现在mysql异常停止,或者使用kill -9命令强行杀掉进程导致,进入MySQL命令行后,执行下面的命令即可修复'./mysql/proc'表 repair table mys ...
- Solution -「51nod 1584」加权约数和
\(\mathcal{Description}\) Link. 令 \(\sigma(n)\) 为 \(n\) 的约数之和.求: \[\sum_{i=1}^n\sum_{j=1}^n\max\ ...
- C# 给Word每一页设置不同图片水印
Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以C#代码为例,对W ...
- MySQL数据库备份的4种方式
MySQL备份的4种方式 总结: 备份方法 备份速度 恢复速度 便捷性 功能 一般用于 cp 快 快 一般.灵活性低 很弱 少量数据备份 mysqldump 慢 慢 一般.可无视存储引擎的差异 一般 ...
- 开源爱好者月刊《HelloGitHub》第 71 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...