标签:
Map遍历方法优劣?
先介绍Map遍历方法:
package com.it.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /** * 遍历Map的方法 * 第一种方法:通过Map.keySet()方法获取所有key集合,然后用foreach遍历 * 第二种方法:通过Map.entrySet使用iterator遍历key和value: * 第三种方法:通过Map.entrySet遍历key和value(容量大的时候推荐) * 第四种方法:"通过Map.values()遍历所有的value,但不能遍历key" * @author Peter * */ public class MapTest { public static void main(String[] args) { Map<String,String> map= new HashMap<String, String>(); map.put("peter", "peter"); map.put("rose", "rose"); map.put("tom", "tom"); map.put("mikle", "mikle"); MapTest.mapKeySet(map); MapTest.mapEntrySetIterator(map); MapTest.mapEntrySet(map); MapTest.mapValue(map); } /** * 第一种方法 */ public static void mapKeySet(Map<String,String> m) { System.out.println("第一种方法:通过Map.keySet()方法获取所有key集合,然后用foreach遍历"); Set<String> set=m.keySet(); for(String key:set){ System.out.println("key="+key+" and value="+m.get(key)); } } /** * 第二种方法 */ public static void mapEntrySetIterator(Map<String,String> m) { System.out.println("第二种方法:通过Map.entrySet使用iterator遍历key和value:"); Iterator<Map.Entry<String,String>> it=m.entrySet().iterator(); while(it.hasNext()){ Map.Entry<String, String> entry=it.next(); System.out.println("key="+entry.getKey()+" and value="+entry.getValue()); } } /** * 第三种方法 */ public static void mapEntrySet(Map<String,String> m) { System.out.println("第三种方法:通过Map.entrySet遍历key和value(容量大的时候推荐)"); for(Map.Entry<String, String> entry:m.entrySet()){ System.out.println("key="+entry.getKey()+" and value="+entry.getValue()); } } /** * 第四种方法 */ public static void mapValue(Map<String,String> m) { System.out.println("第四种方法:通过Map.values()遍历所有的value,但不能遍历key"); for(String value:m.values()) { System.out.println(value); } } }
标签:
原文地址:http://www.cnblogs.com/avaj/p/5801405.html