Java遍历Map
2015-11-19 14:41
381 查看
Java遍历Map的四种方法及对比
package cn.sf.util; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class TestMap { /** * 方法一 在for-each循环中使用entries来遍历 * 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用 */ public void testMap1(){ Map<String, String> map = new HashMap<String, String>(); map.put("map1", "1"); map.put("map2", "2"); map.put("map3", "3"); Set<String> keys = map.keySet(); for (String key : keys) { System.out.println(key+"---"+map.get(key)); } } /** * 方法一 :如果只需要map中的键或者值,你可以通过keySet或values来实现遍历 * 比entrySet性能 */ public void testMap2(){ Map<String, String> map = new HashMap<String, String>(); map.put("map1", "1"); map.put("map2", "2"); map.put("map3", "3"); Set<String> keys = map.keySet(); for (String key : keys) { System.out.println("key:"+map.get(key)); } for (String value : map.values()) { System.out.println("value:"+value); } } /** * 方法三:使用Iterators */ public void testMap3(){ Map<String, String> map = new HashMap<String, String>(); map.put("map1", "1"); map.put("map2", "2"); map.put("map3", "3"); Iterator<Entry<String, String>> iterators = map.entrySet().iterator(); while(iterators.hasNext()){ Entry<String, String> entry = iterators.next(); System.out.println(entry.getKey()+"---"+entry.getValue()); } } /** * 方法四 :通过键找值遍历(效率低) */ public void testMap4(){ Map<String, String> map = new HashMap<String, String>(); map.put("map1", "1"); map.put("map2", "2"); map.put("map3", "3"); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println(entry.getKey()+"--"+entry.getValue()); } } public static void main(String[] args) { TestMap testMap = new TestMap(); testMap.testMap1(); System.out.println(); testMap.testMap2(); System.out.println(); testMap.testMap3(); System.out.println(); testMap.testMap4(); } }
相关文章推荐
- Java Url请求方式中文乱码问题解决办法
- Eclipse下Android开发的问题:Installation error: INSTALL_FAILED_NO_MATCHING_ABIS 解决办法
- java单例模式的7种写法
- java获取访问者的IP
- Java的Spring框架的三种连接池的基本用法示例
- eclipse使用git进行代码项目管理
- Java线程并发控制基础知识
- 用eclipse导入design需要注意的细节
- java入门 第三季4
- java入门 第三季3
- java中的路径
- Java如何判断socket是否已经断开
- java入门 第三季2
- spring-data-jpa 问题汇总
- spring-data-jpa 问题汇总
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
- java通过反射Method、属性字段名、值、数据类型
- JAVA 定时器时间格式
- java图片格式转换的三段代码
- JAVA web选型