Java遍历Map

来源:互联网 发布:淘宝小李子 编辑:程序博客网 时间:2024/06/05 15:11
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();}}

0 0
原创粉丝点击