Map的遍历

来源:互联网 发布:知乎 登山机 编辑:程序博客网 时间:2024/06/05 02:24

Map是java中的接口,Map.Entry是Map的一个内部接口。
Map提供了一些常用方法,如keySet()、entrySet()等方法,
keySet()方法返回值是Map中key值的集合;
entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。
Map.Entry是Map声明的一个内部接口,
此接口为泛型,定义为Entry

package cn.liqing.junit;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Set;public class TestMap1 {    public static void main(String[] args) {        Map<String,String> map = new HashMap<String,String>();        map.put("林俊杰", "不为谁而作的歌");        map.put("胡夏", "知足");        map.put("田馥甄", "你就不要想起我");        //第一种方法KeySet集合迭代        Set<String> keySet = map.keySet();        Iterator<String> it = keySet.iterator();        while(it.hasNext()){            String key = it.next();            String value =map.get(key);            System.out.println(key+"--"+value);        }        //第二种方法EntrySet集合迭代        Set<Map.Entry<String,String>> entrySet = map.entrySet();        Iterator<Map.Entry<String,String>> en = entrySet.iterator();        while(en.hasNext()){            Entry<String, String> map1 = en.next();            String key1 = map1.getKey();            String value1 = map1.getValue();            System.out.println(key1+"--"+value1);        }        //第三种方法,KeySet集合增强for循环        Set<String> keySet1 = map.keySet();        for(String key2 :keySet1){            System.out.println(key2+"--"+map.get(key2));        }        //第四种方法,EntrySet集合增强for循环        Set<Map.Entry<String, String>> entrySet2 = map.entrySet();        for(Entry<String, String> key3 :entrySet2){            System.out.println(key3.getKey()+"--"+key3.getValue());        }    }}