用来遍历map集合的方法
map集合是以键值对进行存储值的,所以遍历map集合无非就是获取键和值,根据实际需求,进行获取键和值.
1.无非就是通过map.keySet()获取到值,然后根据键获取到值.
- for(String s:map.keySet()){
- System.out.println("key : "+s+" value : "+map.get(s));
- }
2.通过Map.Entry(String,String)获取,然后使用entry.getKey()获取到键,通过entry.getValue()获取到值
- for(Map.Entry<String, String> entry : map.entrySet()){
- System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue());
- }
3.其中通过Iterator也是为了最终获得entry,所以理解其用法,可以很好的使用和掌握
- public class MapTest01 {
- 13
- 14 public static void main(String[] args) {
- 15 Map<String, String> map=new HashMap<String, String>();
- 16 map.put("张三1", "男");
- 17 map.put("张三2", "男");
- 18 map.put("张三3", "男");
- 19 map.put("张三4", "男");
- 20 map.put("张三5", "男");
- 21
- 22 //第一种遍历map的方法,通过加强for循环map.keySet(),然后通过键key获取到value值
- 23 for(String s:map.keySet()){
- 24 System.out.println("key : "+s+" value : "+map.get(s));
- 25 }
- 26 System.out.println("====================================");
- 27
- 28 //第二种只遍历键或者值,通过加强for循环
- 29 for(String s1:map.keySet()){//遍历map的键
- 30 System.out.println("键key :"+s1);
- 31 }
- 32 for(String s2:map.values()){//遍历map的值
- 33 System.out.println("值value :"+s2);
- 34 }
- 35 System.out.println("====================================");
- 36
- 37 //第三种方式Map.Entry<String, String>的加强for循环遍历输出键key和值value
- 38 for(Map.Entry<String, String> entry : map.entrySet()){
- 39 System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue());
- 40 }
- 41 System.out.println("====================================");
- 42
- 43 //第四种Iterator遍历获取,然后获取到Map.Entry<String, String>,再得到getKey()和getValue()
- 44 Iterator<Map.Entry<String, String>> it=map.entrySet().iterator();
- 45 while(it.hasNext()){
- 46 Map.Entry<String, String> entry=it.next();
- 47 System.out.println("键key :"+entry.getKey()+" value :"+entry.getValue());
- 48 }
- 49 System.out.println("====================================");
- 50
- 51 }
- 52
- 53
- 54 }
4.Map的一些常用的知识点,和取值的变形形式,都需要掌握和了解
- public class MapTest02 {
- 14
- 15 public static void main(String[] args) {
- 16 //1:key,value都是object类型的
- 17 //2:key必须是唯一的,不唯一,那么后面的value会把前面的value覆盖
- 18 //3:对于HashMap,key可以为空
- 19 //4:value可以为空,也可以为空
- 20 //5:HashTable的key和value不能为空
- 21 //6:properties的key和value必须为String类型的
- 22 Map<String , String> map=new HashMap<>();
- 23 map.put("null", "this is null 1");
- 24 map.put("null", "this is null 2");
- 25 System.out.println(map.size());
- 26 System.out.println(map.get(null));
- 27
- 28 System.out.println("=============================");
- 29 //循环显示map类型的key以及对应的value
- 30 //三个集合,key的集合,value的集合,键值对的集合
- 31 Set<String> keys=map.keySet();
- 32 for(String s:keys){
- 33 System.out.println(s);
- 34 }
- 35 System.out.println("=============================");
- 36 Collection<String> values=map.values();//值的集合
- 37 System.out.println(values);
- 38 System.out.println("=============================");
- 39 Set<Map.Entry<String, String>> entrys=map.entrySet();//键值对的集合
- 40 for(Map.Entry<String, String> entry:entrys){
- 41 System.out.println(entry.getKey()+" "+entry.getValue());
- 42 }
- 43
- 44 }
- 45 }
用来遍历map集合的方法的更多相关文章
- Java 遍历Map集合的方法
方法一:通过Map.keySet,遍历key和value Map<String, Object> map = new HashMap<>(); for (String key ...
- 遍历Map集合的方法
创建一个MAP的栗子: Map<String, Integer> tempMap = new HashMap<String, Integer>(); tempMap.put(& ...
- 遍历Map集合四中方法
public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...
- 遍历Map集合:java.util.Map.Entry、KeySet两种方式
遍历Map集合的两种方式: 1.用KeySet Map.keySet(),返回一个存放所有key的set集合,通过遍历集合,根据key值取出所有的value值. Map<String,Strin ...
- (1)集合 ---遍历map集合
Map接口 实现Map接口的类用来存储键(key)-值(value) 对.Map 接口的实现类有HashMap和TreeMap等.Map类中存储的键-值对通过键来标识,所以键值不能重复. Ha ...
- Java之五种遍历Map集合的方式
摘要:在java中所有的map都实现了Map接口,因此所有的Map都可以用以下的方式去遍历. 在java中所有的map都实现了Map接口,因此所有的Map都可以用以下的方式去遍历.这篇文章主要给大家介 ...
- 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合
package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...
- 遍历Map集合的几种方式
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entr ...
- 遍历Map集合的四中方法
->有这样一个Map集合 Map<String, String> map = new HashMap<String, String>(); map.put(", ...
随机推荐
- 十篇TED点击率最高演讲,带你重新认识大数据与人工智能
我们通常过于专注于机器学习算法的实现,倾向于忽略这种技术本身的一些重要问题:如未来的应用和政治后果.在这篇文章中,我们从非常受欢迎的非营利组织TED上收集了一系列的视频(并非关注于选择什么语言或算法来 ...
- Java多线程概念及优缺点,多线程的地位|乐字节
大家好,乐字节小乐有来咯,上次说完了Java网络编程探究|乐字节,这次我们来看看线程相关的吧. Java线程主要讲述的内容有: 1.线程概念 多线程,说白了就是多条执行路径,原来是一条路径,就主路径( ...
- 《ucore lab7》实验报告
资源 ucore在线实验指导书 我的ucore实验代码 练习1: 理解内核级信号量的实现和基于内核级信号量的哲学家就餐问题(不需要编码) 题目 完成练习0后,建议大家比较一下(可用meld等文件dif ...
- ZooKeeper 相关问题
[为什么部署个数是奇数个?] zookeeper有这样一个特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的.即 2n 个机器的集群,最多可以容忍 n-1 个机器不可用,这个容忍度与 ...
- Java的设计模式(7)— 生产者-消费者模式
生产者-消费者模式是一个经典的多线程设计模式,它为多线程间的协作提供了良好的解决方案.这个模式中,通常有两类线程,即若干个生产者线程和若干个消费者线程.生产者线程负责提交用户请求,消费者线程则负责具体 ...
- 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?
package com.hadoop.hdfs; import org.apache.hadoop.yarn.webapp.hamlet.Hamlet; import org.junit.Test; ...
- C++11<functional>深度剖析:背景、原理、接口与实现
自C++11以来,C++标准每3年修订一次.C++14/17都可以说是更完整的C++11:即将到来的C++20也已经特性完整了. C++11已经有好几年了,它的年龄比我接触C++的时间要长10倍不止吧 ...
- 机器学习-EM算法-GMM模型笔记
GMM即高斯混合模型,下面根据EM模型从理论公式推导GMM: 随机变量X是有K个高斯分布混合而成,取各个高斯分布的概率为φ1,φ2,... ,φK,第i个高斯分布的均值为μi,方差为Σi.若观测到随机 ...
- Scala 面向对象编程之继承
extends关键字 // Scala中,让子类继承父类,与Java一样,也是使用extends关键字 // 继承就代表,子类可以从父类继承父类的field和method:然后子类可以在自己内部放入父 ...
- hdu1501 记忆化搜索。。。
Problem Description Given three strings, you are to determine whether the third string can be formed ...