HashMap的两种遍历方法

马上就要毕业了,最近会持续更新Java实现的数据结构、Java面试题以及一些Java基础相关的代码

今天分享下Map的遍历方法,本人平时习惯了用繁(正)体。下面是具体代码:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/**
 * @Description:練習Map的幾種遍歷方法
 * @Author:Lixiaohong_666
 * @Date:Created in 3:01 PM 3/29/2018
 */
public class MapTest {
    public static void main(String[] args) {
        Map map = new HashMap<>();
        map.put("a",1);
        map.put("b",2);
        map.put("c",3);
        map.put("d",4);
        //map.put("a",2);//故意覆蓋
        //方法一:通過keySet()
        Set keys = map.keySet();
        for(String s: keys)
            System.out.print("key:"+s+" "+"value:"+map.get(s));
        System.out.println(" ");
        System.out.println("iterator遍歷...");
        Iterator i = keys.iterator();
        while (i.hasNext()){
            String key=i.next();
            Integer value = map.get(key);
            System.out.print("key:"+key+" "+"value:"+value+" ");
        }
        System.out.println(" ");
        System.out.println("法二...");
        //方法二:通過Map.Entry、map.entrySet
        // map.entrySet(返回鍵值對(映射)Set),此例中返回 Set> es = map.entrySet();
        for(Map.Entry m: map.entrySet())//m是一個鍵值對(映射)
            System.out.print("key:"+m.getKey()+" "+"value:"+m.getValue()+" ");
    }
}

你可能感兴趣的:(JAVA开发)