遍歷map集合的3種方式-java

遍歷map的3種方式

  • keySet得到存有key的Set集合

    • 集合遍歷

    • 迭代器遍歷

  • entrySet得到存有Map.Entry的Set集合

    • 集合遍歷

    • 迭代器遍歷

  • map.values得到存有value的Collection集合 只能遍歷value

    • 集合遍歷

    • 迭代器遍歷

 

package July.map;

import org.junit.Test;

import java.util.*;


public class hx1 {
    //遍歷map的4種方式
    @Test
    public void test1(){
        HashMap<Integer,String> map = new HashMap();
        map.put(1,"abc");
        map.put(2,"def");
        map.put(3,"ghi");

        //1 通過keySet得到key遍歷
        System.out.println("-----------------------1:keySet得到Set集合,集合中元素類型爲key的類型-------------------------");

        System.out.println("1.1:集合遍歷");
       for (Object key: map.keySet()) {
            System.out.println(key.toString()+map.get(key));
        }

        System.out.println("1.2:迭代器遍歷");
        Iterator<Integer> iterator = map.keySet().iterator();
       while(iterator.hasNext()){
           Integer key = iterator.next();
           System.out.println(key+map.get(key));
       }


        //2 通過entrySet得到Set集合,集合裏的類型是Map.Entry<k,v>。所以也可以說通過entrySet得到entry  推薦★
        System.out.println("-----------------------2:entrySet得到Set集合,集合中元素類型爲Map.Entry<k,v>的類型-------------------------");
        //map.entrySet()得到一個set集合,裏面裝的元素是Map.Entry類型的  entry是包含了key,value的
        /*Set<Map.Entry<Integer,String>> set2 = map.entrySet();
        System.out.println(set2);
        Iterator<Map.Entry<Integer,String>> it2 = set2.iterator();
        Map.Entry<Integer,String> o = it2.next();
        System.out.println(o.getKey()+o.getValue());*/

        System.out.println("2.1:集合遍歷");
        for (Map.Entry<Integer,String> m:map.entrySet()) {
            System.out.println(m.getKey()+m.getValue());
        }

        System.out.println("2.2:迭代器遍歷");
        Iterator<Map.Entry<Integer,String>> it = map.entrySet().iterator();
        while(it.hasNext()){
            Map.Entry<Integer,String> entry = it.next();
            System.out.println(entry.getKey()+entry.getValue());
        }


        //4 通過map.values得到values遍歷value
        System.out.println("-----------------------3:values得到Collection集合,集合元素類型爲value的類型-------------------------");

        System.out.println("3.1:集合遍歷");
        for (String v:map.values()) {
            System.out.println(v);
        }

        System.out.println("3.2:迭代器遍歷");
        Iterator<String> itvalue = map.values().iterator();
        while (itvalue.hasNext()){
            System.out.println(itvalue.next());
        }

    }
}

 

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