haspMap的遍歷

package collection;
 
import java.util.Collection;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
 
public class MapTest {
    public static void main(String[] args) {
        Map<String,Integer> m = new HashMap<>();
        m.put("hello", 11);
        m.put("world", 11);
        m.put("nihao", 21);
        m.put("shijie", 22);
         
        //輸出map中的所有value
        Collection<Integer> values = m.values(); 
        for(int value: values) {
            System.out.println(value);
        }
          
        //map遍歷1,通過keySet獲得map中所有可以的集合,在通過key得到value
                //這種方式會遍歷兩次,一次是對key值得iterator,再一次是通過key獲得值
        System.out.println("--------map遍歷1------------");
        Set keySet = m.keySet();
        Iterator<String> it = keySet.iterator();
        while(it.hasNext()) {
            String key = it.next();
            System.out.print("[key=" + key + ",value=" + m.get(key) + "]  ");
        }
         
        //map遍歷2,foreach方法來遍歷keyset,和第一種沒有什麼區別
        System.out.println("--------map遍歷2------------");
        for(Object key: keySet) {
            System.out.print("[key=" + key + ",value=" + m.get(key) + "]  ");
        }
         
        //map遍歷3,Map內部的Entry封裝所有map的key-value對放入集合中,集       
//閤中的一個元素就包括了key和value,這樣就之遍歷一次就能得到集合,並可以訪問所
//有key-value。
        System.out.println("--------map遍歷3------------");
        Set entrySet = m.entrySet();
        Iterator it1 = entrySet.iterator();
        while(it1.hasNext()) {
            @SuppressWarnings("unchecked")
            Map.Entry<String, Integer> e = (Map.Entry<String, Integer>)it1.next();
            System.out.print("[key=" + e.getKey() + ",value=" + e.getValue() + "]  ");
        }
         
        System.out.println();
        System.out.println("--------map遍歷4------------");
        //map遍歷4,java8中新增方法。
        m.forEach((key,value) -> {
            System.out.print("[key=" + key + ",value=" + value + "]  ");
        });
         
        //關於hashMap的遍歷,推薦使用3,4兩種方法。
         
         
         
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章