一、通过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. eslint prettier editrorconfig - 写出干净的前端代码

    FConfidence 关注 2018.12.30 02:38* 字数 2912 阅读 195评论 0喜欢 0 VSCode 插件安装 Prettier - Code Formatter ESLint ...

  2. .NET图平台下的图像处理工具---强大的Emgucv

    图像一直与时代相伴,图形化的应用软件也重不可缺.对于MFC.Delphi.Lazarus.Qt大家可能已经耳熟能详.对于很多图像处理的开源库,很多都是用C\C++写的,而.Net下的开源库以前很少了解 ...

  3. JavaScript逗号操作符

    今天在CSDN看到一篇文章http://www.csdn.net/article/2014-01-06/2818025-Useful-JavaScript-Tips-Best-Practices?re ...

  4. springBoot(4)---热部署,配置文件使用

    热部署,配置文件使用 一.热加载 spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Sprin ...

  5. mysql 开发进阶篇系列 7 锁问题(innodb锁争用情况及锁模式)

    1 .获取innodb行锁争用情况 1.1 通过检查innodb_row_lock状态变量来分析系统上的行锁的争夺情况 SHOW STATUS LIKE 'innodb_row_lock%' 通过in ...

  6. spring-boot-maven-plugin插件的作用

    要记住:spring-boot-maven-plugin插件在打Jar包时会引入依赖包 可以打成直接运行的Jar包 maven项目的pom.xml中,添加了org.springframework.bo ...

  7. Python爬虫、自动化常用库&帮助文档URL

    一.Python下载地址 Windows终端Cmder.exe下载--->http://cmder.net/ Python下载(Windows)        ---> https://w ...

  8. 第二次作业:分布式版本控制系统Git的安装与使用

    本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103 第一个git仓库地址:https://github.com/ ...

  9. Android内存优化之磁盘缓存

    前言: 在上一篇文章中介绍了内存缓存,内存缓存的优点就是很快,但是它又有缺点: 空间小,内存缓存不可能很大: 内存紧张时可能被清除: 在应用退出时就会消失,做不到离线: 基于以上的缺点有时候又需要另外 ...

  10. MySQL导入导出实践

    最近一次数据迁移,需要将MySQL的数据导出.处理后导入到新表和ES.这里做个简单记录,方便后续查询. 注: 为了写文章方便及隐私安全,实际内容会有所简化.例如表结构简化.数据库连接部分全部用 xxx ...