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 ...
随机推荐
- 【ocp 052又加新题了】052新加的考试题及答案整理-第13题
13.Which two are true about AWR snapshots? A) They are stored In the SYSAUX tablespace. B) They are ...
- javascript对比两个数组,打印出差异值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jquery中animate({left:'-='+width})中的 '-='+是什么意思?
left:'-='+width的意思是:left属性的最终值,是left现有值减去width这个值 例如:left:'200px' 意思是left最终值变成200left:'+200px' 意思与上面 ...
- 面对对象二,super......反射
一.super() super() : 主动调用其他类的成员 # 单继承 # 在单继承中 super,主要是用来调用父类的方法的. class A: def __init__(self): self ...
- php 扩展 debug问题
php安装时为debug模式 ./configure --prefix=/usr/local/php7.1.6-debug --with-curl --with-pcre-regex --enabl ...
- 【手记】如果Idx/Sub字幕导不进MKVToolNix,看看是否这个原因
用记事本之类的文本编辑器打开idx文件,看看时间轴部分是不是存在不规范的条目,比如: timestamp: :::, filepos: 注意,上述条目中,filepos:后面缺了一个空格,就这么一处问 ...
- JS 与 OC 交互
WebView与JS的几种交互 IOS中 使用JavaScriptCore 实现OC与JS的交互 JavaScriptCore 使用
- wordcloud词云--可视化
import jieba import wordcloud f = open("新时代中国特色社会主义.txt", "r", encoding="gb ...
- Python——付费/版权歌曲下载
很多歌曲需要版权或者付费才能收听 正确食用方法: 1.找到歌曲编号 2.输入编号并点击下载歌曲 # coding:utf8 # author:Jery # datetime:2019/4/13 23: ...
- MqttNet 通讯
MQTT,IBM发明的物联网通讯协议基于tcp ip , 收集传感器上的数据. 下图理解: broker 这里有很多消息,根据主题不同来进行区分,它这里可以保管所有连过来的客户端的数据,然后客户端, ...