package map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map; /**
* Map的实现类HashMap使用
*/
public class MapTest {
/**
*
*/
public static void main(String[] args) {
System.out.println("MapGame start...");
BasicUseOfHashMap();
System.out.println("MapGame end...");
} /**
* HashMap的使用
*/
private static void BasicUseOfHashMap() {
Map<String, String> hashmap = new HashMap<>();
hashmap.put("name", "eric");
hashmap.put("sex", "男");
String value = hashmap.get("sex");
System.out.println(value);
/**
* 增强for循环遍历之使用entrySet循环遍历
*/
System.out.println("\r\n" + "使用entrySet循环遍历");
for (Map.Entry<String, String> entry : hashmap.entrySet()) {
String key1 = entry.getKey();
String value1 = entry.getValue();
System.out.println(key1 + ":" + value1);
}
/**
* 增强for循环遍历之使用keySet循环遍历
*/
System.out.println("\r\n" + "使用keySet循环遍历");
for (String key2 : hashmap.keySet()) {
System.out.println(key2 + ":" + hashmap.get(key2));
}
/**
* 迭代器循环遍历之使用keySet()遍历
*/
System.out.println("\r\n" + "迭代器循环遍历之使用keySet()遍历");
Iterator<String> iterator = hashmap.keySet().iterator();
while (iterator.hasNext()) {
String key3 = iterator.next();
System.out.println(key3 + ":" + hashmap.get(key3));
}
/**
* 迭代器循环遍历之使用entrySet()遍历
*/
System.out.println("\r\n" + "迭代器循环遍历之使用keySet()遍历");
Iterator<Map.Entry<String, String>> iterator1 = hashmap.entrySet().iterator();
while (iterator1.hasNext()) {
Map.Entry<String, String> map = iterator1.next();
String key4 = map.getKey();
String value4 = map.getValue();
System.out.println(key4 + ":" + value4);
}
} }

   java中为什么要使用Iterator?

Iterator模式是用于遍历集合类的标准访问方法。它可以把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构。

参考资料:https://www.cnblogs.com/lzq198754/p/5780165.html#top

map hashmap的使用的更多相关文章

  1. Collections+Iterator 接口 | Map+HashMap+HashTable+TreeMap |

    Collections+Iterator 接口 1. Collections 是一个操作 Set.List 和 Map 等集合的工具类 Collections 中提供了大量方法对集合元素进行排序.查询 ...

  2. ES6 & Map & hashMap

    ES6 & Map & hashMap 01 two-sum https://leetcode.com/submissions/detail/141732589/ hashMap ht ...

  3. Map HashMap 排序 迭代循环 修改值

    HashMap dgzhMap = Dict.getDict("dgzh"); Iterator it_d = dgzhMap.entrySet().iterator(); whi ...

  4. Map随笔:最常用的Map——HashMap

    目录 Map随笔:最常用的Map--HashMap 前言: 1,HashMap的结构 2,HashMap的一些属性(JDK8) 3,HashMap的构造函数(JDK8) 4,HashMap的一些方法( ...

  5. [Java] Map / HashMap - 源代码学习笔记

    Map 1. 用于关联 key 和 value 的对象,其中 key 与 key 之间不能重复. 2. 是一个接口,用来代替 Java 早期版本中的 Dictionary 抽象类. 3. 提供三种不同 ...

  6. 高并发第九弹:逃不掉的Map --> HashMap,TreeMap,ConcurrentHashMap

    平时大家都会经常使用到 Map,面试的时候又经常会遇到问Map的,其中主要就是 ConcurrentHashMap,在说ConcurrentHashMap.我们还是先看一下, 其他两个基础的 Map ...

  7. Map / HashMap 获取Key值的方法

    方法1:keySet()HashMap hashmp = ne HashMap();hashmp.put("aa", "111");Set set = hash ...

  8. Map:HashMap和TreeMap

    一.Map集合     特点:将键映射到值得对象 Map集合和Collection集合的区别? Collection:是单列集合,存储的是单独出现的元素    Map: 是双列集合,存储的是键值对形式 ...

  9. Java集合 之Map(HashMap、Hashtable 、TreeMap、WeakHashMap )理解(new)

    HashMap 说明: 在详细介绍HashMap的代码之前,我们需要了解:HashMap就是一个散列表,它是通过“拉链法”解决哈希冲突的.还需要再补充说明的一点是影响HashMap性能的有两个参数:初 ...

  10. golang 多维哈希(map,hashmap)实践随笔

    有些场景使用多维哈希来存储数据,时间复杂度恒定,简单粗暴好用.这里记录一下. 如下是三维哈希的简单示意图,建议层数不要太多,否则时间久了,自己写的代码都不认识. 下图是三维哈希在内存的存储形式,has ...

随机推荐

  1. elasticsearch添加访问密码

    1.将x-pack复制到elasticsearch的plugins目录下面 2.启动elasticsearch .bin/elasticsearch & 3.修改指定用户密码 PUT http ...

  2. vue之templete模板

    1.templete里要用data里的数据的话,不要加this. 2.按理说Js是写在<script></script>标签体内的.但是Vue的templete模板中对所有的数 ...

  3. Python 语音识别

    调用科大讯飞语音听写,使用Python实现语音识别,将实时语音转换为文字. 参考这篇博客实现的录音,首先在官网下载了关于语音听写的SDK,然后在文件夹内新建了两个.py文件,分别是get_audio. ...

  4. MySQL不支持的特性

    MySQL 1.不支持物化视图. 2.不支持位图索引. 3.不支持并行查询. 4.不支持哈希关联,MySQL的所有关联都是嵌套循环关联.不过,可以通过建立一个哈希索引来曲线实现. 5.不允许对同一表同 ...

  5. cookie记住账户密码

    //cookie保存路径 String autologin=request.getParameter("autologin"); String path = request.get ...

  6. RabbitMQ:伪延时队列

    目录 一.什么是延时队列 二.RabbitMQ实现 三. 延时队列的问题 四.解决RabbitMQ的伪延时方案 ps:伪延时队列先卖个关子,我们先了解下延时队列. 一.什么是延时队列 所谓延时队列是指 ...

  7. vue自定义抽屉组件

    <template> <div class="drawer"> <div :class="maskClass" @click=&q ...

  8. Angular JS - 2 - angularjs helloworld

    材料下载  https://github.com/liuch0228/AngularJS-learn.git 1.使用原生jquery实现 实现输入框内容 在页面上跟随输入值动态更新 项目路径 < ...

  9. Python基础教程(016)--Python2和Python3的介绍

    前言 Python2和Python3的区别 内容 Python3是现在和未来的主要版本 Python3没有考虑向下兼容. 官方提供了一个Python过度版本Python2.6 Python2.6及支持 ...

  10. element upload上传前对文件专门bs64上传

    <!-- 文件上传 --> <template> <section class="file-upload"> <p class=" ...