使用工具

IDEA2018.2

使用说明

  1. 使用迭代器,即创建Iterator对象,Iterator是一个接口,也有泛型
  2. hasNext方法判断是否已经遍历完,
  3. next方法取当前遍历的对象
  4. HashMap用keySet()方法获得键的Set集合
  5. values()方法获得值的Set集合
  6. entrySet()方法获得键值对的Set集合

代码示例

Student.java
package com.vvcat;/*** @Author ꧁ʚVVcatɞ꧂* @Date 2019/10/13 19:37* @Version 1.0**/
public class Student {private Integer id;private String name;private String sex;private Integer age;public Student() {}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Student(Integer id, String name) {this.id = id;this.name = name;}public Student(Integer id, String name, String sex, Integer age) {this.id = id;this.name = name;this.sex = sex;this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic String toString() {return "Student{" +"id=" + id +", name='" + name + '\'' +", sex='" + sex + '\'' +", age=" + age +'}';}
}
HashMap .java
package com.vvcat;import java.util.*;/*** @Author ꧁ʚVVcatɞ꧂* @Date 2019/10/13 19:39* @Version 1.0**/public class HashMap {public static void main(String[] args) {//实例化3个学生Student stu1 = new Student(1, "张三","男",20);Student stu2 = new Student(2, "李四","男",21);Student stu3 = new Student(3, "赵五","男",22);// 实例化HashMap用于保存学生java.util.HashMap<Integer, Student> map = new java.util.HashMap<Integer, Student>();//建立学号与学生的映射关系map.put(stu1.getId(),stu1);map.put(stu2.getId(),stu2);map.put(stu3.getId(),stu3);// 遍历方法1.通过Map.keySet遍历key和value(经常使用,二次取值)Set<Integer> keys = map.keySet();Iterator<Integer> it1 = keys.iterator();System.out.println("遍历方法1,通过keySet遍历key和value获得键集合 ");for (Integer key : map.keySet()) {System.out.println("key = "+ key + " and value= " + map.get(key));}while (it1.hasNext()){Student st = map.get(it1.next());System.out.println("学号:" + st.getId() + "\t" + "姓名:" + st.getName() + "\t" + "性别:" + st.getSex() + "\t" + "年龄:" + st.getAge());}System.out.println("---------------------------");// 遍历方法2.通过Map.values()遍历所有的value,但不能遍历keyCollection<Student> values = map.values();Iterator<Student> it2 = values.iterator();System.out.println("遍历方法2,通过values获得值集合");for (Student stu : map.values()) {System.out.println("value= " + stu);}while(it2.hasNext()){Student next = it2.next();System.out.println("学号:" + next.getId() + "\t"+ "姓名:" + next.getName()+ "\t" + "性别:" + next.getSex() + "\t"+ "年龄:" + next.getAge());}System.out.println("---------------------------");// 遍历方法3.通过Map.entrySet使用iterator遍历key和value:Set<Map.Entry<Integer, Student>> kys = map.entrySet();Iterator<Map.Entry<Integer, Student>> it3 = kys.iterator();System.out.println("遍历方法3,通过entrySet使用iterator遍历key和value获得键值对");while(it3.hasNext()){Student st = it3.next().getValue();System.out.println("学号:" + st.getId() + "\t" + "姓名:" + st.getName()+ "\t" + "性别:" + st.getSex()+ "\t" + "年龄:" + st.getAge());}System.out.println("---------------------------");//遍历方法4:通过Map.entrySet遍历key和value(推荐容量大时使用)System.out.println("通过Map.entrySet遍历key和value");for (Map.Entry<Integer, Student> entry : map.entrySet()) {Student st = entry.getValue();System.out.println("学号:" + entry.getKey()+ "\t" + "姓名:" + st.getName()+ "\t" + "性别:" + st.getSex()+ "\t" + "年龄:" + st.getAge());}}
}

HashMap的遍历方法相关推荐

  1. 面试官:HashMap有几种遍历方法?推荐使用哪种?

    作者 | 磊哥 来源 | Java面试真题解析(ID:aimianshi666) 转载请联系授权(微信ID:GG_Stone) HashMap 的遍历方法有很多种,不同的 JDK 版本有不同的写法,其 ...

  2. 遍历HashMap的最佳方法

    遍历HashMap的最佳方法 @(JAVA)[java] stackoverflow上推荐的遍历hashMap的最佳方法: 详见github上的代码. package org.ljh.javademo ...

  3. hashmap java 便利_java HashMap 循环遍历map的方法

    java HashMap 循环遍历map的方法(转) import java.util.ArrayList; import java.util.HashMap; import java.util.It ...

  4. HashMap遍历方法和实现原理分析

    1.HashMap 1.1.HashMap遍历方法 public class CircleMap { public static void main(String[] args) { //创建Hash ...

  5. 【HashMap】HashMap的6种遍历方法

    目录 1 创建map 2 keySet获取Map集合key的集合 然后在遍历key即可 3 通过Map.entrySet遍历key和value, 4 通过迭代器(Iterator)的方式 5 分别循环 ...

  6. java map集合遍历方法,Java的Map集合的三种遍历方法

    集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~ 1. package com.myTest.MapText; import java.util.Collection; i ...

  7. HashMap的使用方法详解

    HashMap是一种十分常用的数据结构对象,可以保存键值对,下面将详细介绍HashMap的使用方法. 一.添加方法 put方法,可以单次向HashMap中添加一个键值对. 注意:添加到Map中的数据, ...

  8. HashMap的put方法(Java7)和putVal方法(Java8)

    目录 数组+链表:存在性能最坏情况O(n) Java7的HashMap的put方法思路 数组+链表+红黑树:性能提高到O(logn) Java8的HashMap的putVal方法思路 数组+链表:存在 ...

  9. Map集合的遍历方法

    2019独角兽企业重金招聘Python工程师标准>>> Map集合的遍历方法  一.通过Map.Keyset遍历key和value,普遍使用,二次取值 //定义一个Map集合 Map ...

最新文章

  1. 20171218-编程语言的介绍
  2. 【Android 内存优化】垃圾回收算法 ( 分代收集算法 | Serial 收集器 | ParNew 收集器 | Parallel Scavenge 收集器 | CMS 并发标记清除收集器 )
  3. Retrofit2.0和Rxjava结合使用的简单记录
  4. Mysql基本用法-01
  5. h264的码率控制 JVT-G012
  6. 兆观毫米波监护仪亮相CMEF 开创养老监护新时代
  7. unity3D游戏开发实战原创视频讲座系列7之消消乐游戏开发
  8. html自动生成工具_「写论文神器」一个好用的论文自动生成工具,内含30w 文献数据...
  9. 无法访问windows安装服务_win7系统提示无法访问windows安装服务如何解决【解决方法】...
  10. Python中的list/tuple/dict/set数据类型详解
  11. 让盘古分词支持最新的Lucene.Net 3.0.3
  12. java基础总结06-常用api类-api概述及jdk常用分类
  13. 【内推】字节跳动-计算机视觉(实习 线上面试!)
  14. c# 爬网教程_Python Web爬网教程
  15. jsp中的property
  16. ep服务器修改时间,BIOS揭秘 手把手教你设置Nehalem平台
  17. mongo E11000 duplicate key error collection
  18. 程序员如何获取招聘信息
  19. 防止微信H5下拉出现域名究极解决方案
  20. ffmpeg4.4项目学习--H264编码之码率控制模式及参数配置

热门文章

  1. 数据结构 · 二叉树遍历
  2. Delphi制作图像特殊显示效果
  3. Java常见问题汇总
  4. linux中添加PHP的mongoDB支持扩展
  5. 简单易懂的现代魔法——Play Framework攻略4
  6. 磁头号和起始扇区的计算方法------软盘结构
  7. GCC跟NASM联合编译
  8. css3教程:弹性盒模型
  9. GridView中实现单选RadioButton
  10. C语言条件编译及编译预处理阶段