章节七、6-Map集合的区别
一、通过entrySet取出Map中的元素
package ZangJie7; import java.util.HashMap;
import java.util.Map; public class MapsIteration { public static void main(String[] args) {
// HashMap不保证有序
Map<Integer,String> hashMap = new HashMap<Integer,String>();
hashMap.put(1,"BwM");
hashMap.put(6,"AuDi");
hashMap.put(4,"HonDo"); /* 如何取出Map中的元素?
Mao中有键值对的映射关系,可以用Entery来取出集合中元素,Entery是Map集合中的方法,
这个方法返回的是Map方法中包含的映射关系的set集合,返回的是一个set集合,用高级for循环可以
遍历set集合
*/
// Map集合不能直接用高级for来取出所有元素,只能通过调用他里面的方法返回set集合,然后再遍历set集合 for(Map.Entry<Integer,String> entry:hashMap.entrySet()) { // 定义一个变量来接收键值对中的键,int是键的返回值类型,类型的数据接收时就需要用相同的类型来接收
// getKey()方法用来返回键值对中的键
int key = entry.getKey();
// 返回键值对映射关系中的值
String value = entry.getValue();
System.out.println("键"+key+"值"+value);
} } }
返回结果为:

二、通过keySet取出Mao集合中的值
package ZangJie7; import java.util.HashMap;
import java.util.Map; public class MapsIteration { public static void main(String[] args) {
// HashMap不保证有序
Map<Integer,String> hashMap = new HashMap<Integer,String>();
hashMap.put(1,"BwM");
hashMap.put(6,"AuDi");
hashMap.put(4,"HonDo"); // 通过keySet取出集合中的值:
// 通过这个方法可以取出集合中所有的键,放到set中,然后用高级for循环来遍历这些键
for(Integer key:hashMap.keySet()) {
// key存的是keySet()中的键,变量名就叫key,所以在下面的“.get(key)”中传的就是key,这样就能够通过键取出对应的值
String value = hashMap.get(key);
System.out.println("键"+key+"值"+value); } } }
运行结果为:

三、LinkHashMap
// LinkedHashMap可以保证有序,怎么存值就怎么取值
Map<Integer,String> leHashMap = new LinkedHashMap<Integer,String>();
leHashMap.put(1,"BwM");
leHashMap.put(6,"AuDi");
leHashMap.put(4,"HonDo");
for(Integer key:leHashMap.keySet()) {
// key存的是keySet()中的键,变量名就叫key,所以在下面的“.get(key)”中传的就是key,这样就能够通过键取出对应的值
String value = leHashMap.get(key);
System.out.println("键"+key+"值"+value);
}
运行结果为:

四、TreeMap
// TreeMap自然排序,对Map集合中的键进行排序
Map<Integer,String> tMap = new TreeMap<Integer,String>();
tMap.put(1,"BwM");
tMap.put(6,"AuDi");
tMap.put(4,"HonDo");
for(Integer key:tMap.keySet()) {
// key存的是keySet()中的键,变量名就叫key,所以在下面的“.get(key)”中传的就是key,这样就能够通过键取出对应的值
String value = tMap.get(key);
System.out.println("键"+key+"值"+value);
}
运行结果为:

五、HashMap、LinkeHashMap、TreeMap的区别
1、HashMap数据结构是hash表结构,不保证有序,允许有空键空值
2、TreeMap自然排序方式,可以都Map集合中的键进行排序
3、LinkeHashMap怎么存就怎么取,顺序一致
章节七、6-Map集合的区别的更多相关文章
- Map集合及与Collection的区别、HashMap和HashTable的区别、Collections、
特点:将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值. Map集合和Collection集合的区别 Map集合:成对出现 (情侣) ...
- lodash 集合处理方法 map和filter区别
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- HashMap,ConcurrentHashMap原理。Collection(list,set,map集合区别)。和CAS
collection里面有什么子类?(list和set是实现了collection接口的.) List: 1.可以允许重复的对象(可重复,有序集合).2.可以插入多个null元素.3.常用的实现类有 ...
- Map集合中value()方法与keySet()、entrySet()区别
http://blog.csdn.net/liu826710/article/details/9001254 在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, ...
- map集合中value()、keySet()、entrySet()区别
在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet():将Map中所有的键存入到set集合中.因为set具备迭代器.所有可以迭代方式取出所有的键, ...
- Map集合中value()方法与keySet()、entrySet()区别 《转》
在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet(): 将Map中所有的键存入到set集合中.因为set具备迭代器.所有可以迭代方式取出所有的键 ...
- Map集合中key不存在时使用toString()方法、valueOf()方法和强制转换((String))之间的区别
1.toString()方法 底层代码 public String toString() { return this; } 其返回值为String类型的字符串本身 Map<String, Obj ...
- 大数据之路week02--day03 Map集合、Collections工具类的用法
1.Map(掌握) (1)将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. (2)Map和Collection的区别? A: Map 存储的是键值对形式的元素,键唯一,值可以 ...
- Map集合笔记
一.Map集合的特点 Map集合是一个双列集合 Map中的元素,key和value的数据类型可以相同,也可以不同. Map中的元素,key是允许重复的,value是可以重复的 Map中的元素,key和 ...
随机推荐
- Python编程Day4——if判断、while循环、for循环
一.if判断 语法一: if条件: 代码块1 代码块2 代码块3 示例: sex='female' age=18 is_beautiful=True if sex =='female'and age& ...
- 【ABP框架系列学习】N层架构(3)
目录 0.引言 1.DDD分层 2.ABP应用构架模型 客户端应用程序(Client Applications) 表现层(Presentation Layer) 分布式服务层(Distributed ...
- mesos支持gpu代码分析以及capos支持gpu实现
这篇文章涉及mesos如何在原生的mesoscontainerizer和docker containerizer上支持gpu的,以及如果自己实现一个mesos之上的framework capos支持g ...
- RocketMQ入门案例
学习RocketMQ,先写一个Demo演示一下看看效果. 一.服务端部署 因为只是简单的为了演示效果,服务端仅部署单Master模式 —— 一个Name Server节点,一个Broker节点.主要有 ...
- SpringBoot2.0应用(三):SpringBoot2.0整合RabbitMQ
如何整合RabbitMQ 1.添加spring-boot-starter-amqp <dependency> <groupId>org.springframework.boot ...
- Mycat - 实现数据库的读写分离与高可用
前言 开心一刻 上语文课,不小心睡着了,坐在边上的同桌突然叫醒了我,并小声说道:“读课文第三段”.我立马起身大声读了起来.正在黑板写字的老师吓了一跳,老师郁闷的看着我,问道:“同学有什么问题吗?”,我 ...
- PXC快速入门
1.快速入门 实验环境: Node Host IP Node1 pxc1 192.168.70.61 Node2 pxc2 192.168.70.62 Node3 pxc3 192.168.70.63 ...
- μC/OS-II 任务的同步与通信 --- 消息邮箱
简介 如果把数据缓冲区的指针赋给一个事件控制块的成员 OSEventPrt,同时使事件控制块的成员 OSEventType 为常数 OS_EVENT_TYPE_MBOX,则该事件控制块就叫做消息邮箱, ...
- spark高可用集群搭建及运行测试
文中的所有操作都是在之前的文章spark集群的搭建基础上建立的,重复操作已经简写: 之前的配置中使用了master01.slave01.slave02.slave03: 本篇文章还要添加master0 ...
- Keras入门(一)搭建深度神经网络(DNN)解决多分类问题
Keras介绍 Keras是一个开源的高层神经网络API,由纯Python编写而成,其后端可以基于Tensorflow.Theano.MXNet以及CNTK.Keras 为支持快速实验而生,能够把 ...