Map常用集合遍历
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 MapDemo {
public static void main(String[] args) {
Map<String, String> map=new HashMap<String, String>();
map.put("张三1", "男");
map.put("张三2", "男");
map.put("张三3", "男");
map.put("张三4", "男");
map.put("张三5", "男");
//第一种遍历map的方法,通过加强for循环map.keySet(),然后通过键key获取到value值
for(String s:map.keySet()){
System.out.println("key : "+s+" value : "+map.get(s));
}
System.out.println("====================================");
//第二种只遍历键或者值,通过加强for循环
for(String s1:map.keySet()){//遍历map的键
System.out.println("键key :"+s1);
}
for(String s2:map.values()){//遍历map的值
System.out.println("值value :"+s2);
}
System.out.println("====================================");
//第三种方式Map.Entry<String, String>的加强for循环遍历输出键key和值value
for(Map.Entry<String, String> entry : map.entrySet()){
System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue());
}
System.out.println("====================================");
//第四种Iterator遍历获取,然后获取到Map.Entry<String, String>,再得到getKey()和getValue()
Iterator<Map.Entry<String, String>> it=map.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String, String> entry=it.next();
System.out.println("键key :"+entry.getKey()+" value :"+entry.getValue());
}
System.out.println("====================================");
}
}
4:Map的一些常用的知识点,和取值的变形形式
public class MapDemo {
public static void main(String[] args) {
//1:key,value都是object类型的
//2:key必须是唯一的,不唯一,那么后面的value会把前面的value覆盖
//3:对于HashMap,key可以为空
//4:value可以为空,也可以为空
//5:HashTable的key和value不能为空
//6:properties的key和value必须为String类型的
Map<String , String> map=new HashMap<>();
map.put("null", "this is null 1");
map.put("null", "this is null 2");
System.out.println(map.size());
System.out.println(map.get("null"));
System.out.println("=============================");
//循环显示map类型的key以及对应的value
//三个集合,key的集合,value的集合,键值对的集合
Set<String> keys=map.keySet();
for(String s:keys){
System.out.println(s);
}
System.out.println("=============================");
Collection<String> values=map.values();//值的集合
System.out.println(values);
System.out.println("=============================");
Set<Map.Entry<String, String>> entrys=map.entrySet();//键值对的集合
for(Map.Entry<String, String> entry:entrys){
System.out.println(entry.getKey()+" "+entry.getValue());
}
}
}
运行结果:

Map常用集合遍历的更多相关文章
- List、Set、Map常见集合遍历总结
Java中的集合有三大类,List.Set.Map,都处于java.util包中,List.Set和Map都是接口,不能被实例化,它们的各自的实现类可以被实例化.List的实现类主要有ArrayLis ...
- Map类集合遍历
- Map接口中的常用方法和Map集合遍历键找值方式
Map接口中定义了很多方法,常用的如下: public V put(K key,V value) 将指定的值与此映射中的指定键相关联(可选操作) V remove(Object key); 如果此映射 ...
- Map集合遍历的四种方式理解和简单使用-----不能for循环遍历
Map集合遍历的四种方式理解和简单使用 ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后 ...
- JAVA 常用集合接口List、Set、Map总结
java中频繁使用List.Set.Map接口,将其总结如下 它们的继承与实现关系如下: Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└ ...
- Map集合遍历的2种方法
Map是一个集合的接口,是key-value相映射的集合接口,集合遍历的话,需要通过Iterator迭代器来进行. Iterator是什么东西: java.util包下的一个接口: 对 collect ...
- 双列集合Map的嵌套遍历
双列集合Map的嵌套使用,例如HashMap中还有一个HashMap,这样的集合遍历起来稍微有点儿复杂.例如一个集合:HashMap<Integer,HashMap<String,Inte ...
- Map 集合遍历的4种方法
Map 集合初始化时,指定集合初始值大小. 说明:HashMap 使用 HashMap(int initialCapacity) 初始化. 正例:initialCapacity = (需要存储的元素个 ...
- Java Map集合 遍历 五种方式(包含 Lambda 表达式遍历)
示例代码如下: package com.miracle.luna.lambda; import java.util.HashMap; import java.util.Iterator; import ...
随机推荐
- RESTDebugger-我们的REST调试工具!!
Delphi:XE8 XE8已经为我们提供了调试REST程序的工具了,就是“RESTDebugger.exe”.这个小工具,在XE8的菜单中可以找到: 如果在这里找不到,我们可以直接在XE8的bin目 ...
- Mysql内置功能《三》视图
一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...
- “全栈2019”Java第五十七章:多态与构造方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第四十一章:static关键字
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- RDLC报表的相关技巧四(报表内依照分组重置页码)
报表中不同的组重置页数,如采购订单每一个PO显示的页数都是针对这个PO的,而不是总的页数. 步骤: 1.在各组实例中启用分页符2.用高级模式将组的属性中的ResetPageNumber设置为True3 ...
- STR[#6]
photo 小明在旅游的路上看到了一条美丽的河,河上有许多船只,有的船只向左航行,有的船只向右航行.小明希望拍下这一美丽的风景,并且把尽可能多的船只都完整地拍到一张照片中. 小明位于河的边上,并且可以 ...
- io--文件内容的复制
public class CopyTextTest_2 { private static final int BUFFER_SIZE = 1024; public static void main ...
- Azure File挂载报错--System Error 1231
背景信息: 1.Azure 虚拟机与Azure File位于同一区域 2.同一Azure File可以挂载到别的同型号的虚拟机上使用,唯独挂载到问题机器(test01)时出现如下报错:System E ...
- [spring] Ioc 基础
Ioc的理解:调用类对某一接口的实现类的依赖关系又第三方注入,以移除调用类对接口实现类的依赖.又叫做依赖注入.调用者对接口的选择权利被剥夺,交给了第三方.举个例子,学生本来可以选择哪个老师给他上课的, ...
- POJ1330 Nearest Common Ancestors (JAVA)
经典LCA操作.. 贴AC代码 import java.lang.reflect.Array; import java.util.*; public class POJ1330 { // 并查集部分 ...