博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
遍历Map key-value的两种方法
阅读量:4589 次
发布时间:2019-06-09

本文共 835 字,大约阅读时间需要 2 分钟。

以前遍历Map key-value比较习惯的方式是先获取Map中的所有key值,然后根据key,依次从Map中去数据,基本方式如下:

Map<String,String> testData = new HashMap<String, String>();

………………………………………………一些赋值操作………………………………...

Set<String> keys = testData.keySet();

for(String key :keys){

     System.out.println(key+" "+testData.get(key));

}

上述其中是第一种方法,原来一直用上述方法主要是自己有点懒,有了一种方法后就觉得够用的了,今天看源码,发现还Map接口中还有一个Entry<K,V>的接口,对应的还有一个 Set<Map.Entry<K, V>> entrySet();方法。也就是说其实Map中的每条key-value数据对应着一个Entry,这样的话遍历Map其实就是要取出每个Entry,也就有了第二种遍历方法

Set<Entry<String, String>> entries = testData.entrySet();

for (Entry<String, String> entry : entries) {      System.out.println(entry.getKey()+":"+entry.getValue()); 

}

当少量的数据时,上述两种方法的效率是差不多的,当数据比较多时,第二种还是要比第一种块。

当然上述说的两种遍历针对的情况是遍历出key-value,如果是只想遍历key或value,大可不必用以上的方法了,Map中提供了Set<K> keySet()和Collection<V> values()。

转载于:https://www.cnblogs.com/henuyuxiang/p/3868188.html

你可能感兴趣的文章
Android下移植tcpflow
查看>>
python中元组与列表的区别
查看>>
UFT demo(一)
查看>>
深入理解JAVA I/O系列三:字符流详解
查看>>
Javascript编程风格
查看>>
Django 知识点补充
查看>>
iOS开发>学无止境 - Cell异步图片加载优化,缓存机制详解
查看>>
博客第六天
查看>>
父、子进程中的全局变量
查看>>
Nginx + Tomcat 配置负载均衡集群
查看>>
Notes on “feature-base locomotion controllers”
查看>>
js基础知识总结(2016.11.1)
查看>>
TCP通信
查看>>
zabbix 自带监控项报性能问题解决方法
查看>>
C++ 操作word
查看>>
PHPCMS源码分析(一)
查看>>
Python相关分析—一个金融场景的案例实操
查看>>
Linux查看cpu个数
查看>>
Android Studio 1.0 初体验
查看>>
bzoj1018:[SHOI2008]堵塞的交通traffic
查看>>