一、通过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. odoo开发笔记 -- 表名_name长度限制

    场景描述: odoo中定义模型的时候,系统会根据参数_name="********" 按照一定的系统规则自动生成表名; 最近开发过程中发现,_name参数的字符长度不能超过64位, ...

  2. visual Studio 2017 扩展开发(三)《绑定快捷键到菜单项》

    如何将键盘快捷方式映射到自定义按钮,怎么使用快捷键启动自己创建的菜单,刚开始做的时候迷糊了,找了很久.可能也是因为刚开始做不是很明白,后面慢慢就懂了.其实非常简单的. 很多快捷键已经在Visual s ...

  3. Redis主从+KeepAlived实现高可用

    Redis是我们当下比较流行使用的非关系数据库,可支持多样化的数据类型,多线程高并发支持,redis运行在内存拥有更快的读写.因为redis的表现如此出色,如何能保障redis在运行中能够应对宕机故障 ...

  4. android 错误处理思维随笔

    错误信息:An error occurred while preparing SDK package Android SDK Build-Tools 26.0.1 错误分析:大概率更新超时:小概率上次 ...

  5. java中String类为什么不可变?

    在面试中经常遇到这样的问题:1.什么是不可变对象.不可变对象有什么好处.在什么情景下使用它,或者更具体一点,java的String类为什么要设置成不可变类型? 1.不可变对象,顾名思义就是创建后的对象 ...

  6. Apache-Flink深度解析-TableAPI

    您可能感兴趣的文章合集: Flink入门 Flink DataSet&DataSteam API Flink集群部署 Flink重启策略 Flink分布式缓存 Flink重启策略 Flink中 ...

  7. jvm详情——3、JVM基本垃圾回收算法回收策略

    JVM基本垃圾回收算法回收策略 引用计数(Reference Counting):比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数.垃圾回收时,只用收集计数为0的 ...

  8. mysql字符串查找(统计客源)

    如客源状态为1:2:3:5:6:9,其中6代表成交状态 如果要统计查询出有6这个状态的客源,可以用函数LOCATE(字符,搜索的字符串)来, 示例:统计每个分组下全部客源数total,成交客源数dea ...

  9. 如何用Python编写一个聊天室

    一.课程介绍 1.简介 本次项目课是实现简单聊天室程序的服务器端和客户端. 2.知识点 服务器端涉及到asyncore.asynchat和socket这几个模块,客户端用到了telnetlib.wx. ...

  10. 翻译:XtraDB/InnoDB中的AUTO_INCREMENT处理方式(已提交到MariaDB官方手册)

    本文为mariadb官方手册:XtraDB/InnoDB中的AUTO_INCREMENT处理方式的译文. 原文:https://mariadb.com/kb/en/auto_increment-han ...