一、通过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集合的区别的更多相关文章

  1. Map集合及与Collection的区别、HashMap和HashTable的区别、Collections、

    特点:将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值. Map集合和Collection集合的区别 Map集合:成对出现 (情侣)                       ...

  2. lodash 集合处理方法 map和filter区别

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  3. HashMap,ConcurrentHashMap原理。Collection(list,set,map集合区别)。和CAS

    collection里面有什么子类?(list和set是实现了collection接口的.) List: 1.可以允许重复的对象(可重复,有序集合).2.可以插入多个null元素.3.常用的实现类有 ...

  4. Map集合中value()方法与keySet()、entrySet()区别

    http://blog.csdn.net/liu826710/article/details/9001254 在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, ...

  5. map集合中value()、keySet()、entrySet()区别

    在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet():将Map中所有的键存入到set集合中.因为set具备迭代器.所有可以迭代方式取出所有的键, ...

  6. Map集合中value()方法与keySet()、entrySet()区别 《转》

    在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet(): 将Map中所有的键存入到set集合中.因为set具备迭代器.所有可以迭代方式取出所有的键 ...

  7. Map集合中key不存在时使用toString()方法、valueOf()方法和强制转换((String))之间的区别

    1.toString()方法 底层代码 public String toString() { return this; } 其返回值为String类型的字符串本身 Map<String, Obj ...

  8. 大数据之路week02--day03 Map集合、Collections工具类的用法

    1.Map(掌握) (1)将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. (2)Map和Collection的区别? A: Map 存储的是键值对形式的元素,键唯一,值可以 ...

  9. Map集合笔记

    一.Map集合的特点 Map集合是一个双列集合 Map中的元素,key和value的数据类型可以相同,也可以不同. Map中的元素,key是允许重复的,value是可以重复的 Map中的元素,key和 ...

随机推荐

  1. JDK,JRE,JVM,JMM关系与区别

    JVM: Java Virtual Machine, 将java文件编译成class文件并运行class文件的软件 JRE:Java  Runtime  Enviromental,包含了JVM和Jav ...

  2. 转 Mac 使用ab性能测试工具

    Mac 使用ab命令进行压测 1.在Mac中配置Apache ①启动Apache,打开终端 sudo apachectl -v 如下显示Apache的版本 sudo apachectl start 这 ...

  3. Python—UI自动化完整实战

    实战项目 均来源于互联网 测试报告2017年11月29日优化后的测试报告:https://github.com/defnngj/HTMLTestRunner 1.项目概述: 本实战已126邮箱为例子进 ...

  4. vue-06-过度和动画

    1, css过度与动画 需要使用 v-if, v-show 来进行 1), 过度类名 v-enter: 进入时触发 v-enter-active: 执行过程中 v-enter-to: 停止时进行 v- ...

  5. SpringCloud2.0入门4-springboot-admin监控

    前言 上一节为springboot项目添加springboot-admin监控 学习了基于springboot1.5自己注册到admin的方法.接下来学习结合Eureka使用以及2.0的改变. 1.5 ...

  6. 各个系统下ping IP+端口的方法

    前言 做开发的人员,可能都会遇到网络的一些问题.这时一般都需要测试指定的网络是否能正常访问.通常在windows系统下,在cmd里直接用命令ping指定的IP或者域名就可以快速的知道这个地址是否是可以 ...

  7. Java 容器源码分析之 Deque 与 ArrayDeque

    Queue 也是 Java 集合框架中定义的一种接口,直接继承自 Collection 接口.除了基本的 Collection 接口规定测操作外,Queue 接口还定义一组针对队列的特殊操作.通常来说 ...

  8. 字符串不相同出现相同HashCode(算法)

    转自:https://blog.csdn.net/fly_grass_fish/article/details/81742794 在Java中有HashCode的说法,以前以为HashCode是唯一的 ...

  9. .NET线程池最大线程数的限制-记一次IIS并发瓶颈

    .NET ThreadPool 最大线程数的限制 IIS并发瓶颈,有几个地方,IIS线程池的最大队列数,工作进程数,最大并发数.这些这里就不展开.主要是最近因为过度使用Task 导致的线程数占用过多, ...

  10. TensorFlow中的设备管理——Device的创建与注册机制

    背景 [作者:DeepLearningStack,阿里巴巴算法工程师,开源TensorFlow Contributor] 作为一款优秀的异构深度学习算法框架,TensorFlow可以在多种设备上运行算 ...