1. 程式人生 > >遍歷map的方式

遍歷map的方式

package day05;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

/**
 * 遍歷Map
 * 遍歷Map有三種方式:
 * 遍歷所有的key
 * 遍歷所有的key-value對
 * 遍歷所有的value(相對不常用)
 * @author lenovo
 *
 */
public class MapDemo2 {
    public static void main(String[] args){
        Map<String,Integer> map = new HashMap<String,Integer>();
        map.put("語文", 99);
        map.put("數學", 98);
        map.put("英語", 97);
        map.put("物理", 96);
        map.put("化學", 99);
        System.out.println(map);
        
        /*
         * 遍歷所有的key
         * Set<k> keySet()
         * 該方法會將當前Map中所有的key存入一個
         * Set集合後返回。那麼遍歷該集合就等於遍歷
         * 了所有的key
         */
        Set<String> keySet = map.keySet();
        for(String key:keySet){
            System.out.println("key"+key);
        
        }
        
        /*
         * 遍歷每一組鍵值對
         * Map中每一組鍵值對都是由Map的內部類:
         * java.util.Map.Entry的一個實列表示的。
         * Entry有兩個方法:getKey,getValue,可以
         * 分別獲取這一組鍵值對中的key與value。
         * 
         * Set<Entry>entrySet
         * 該方法會將Map中每一組鍵值對(Entry例項)
         * 存入一個Set集合後返回。
         */
        Set<Entry<String,Integer>> entrySet = map.entrySet();
        
        for(Entry<String,Integer> e:entrySet){
            String key = e.getKey();
            Integer value = e.getValue();
            System.out.println(key+":"+value);
        }
        
        /*
         * 遍歷所有的value
         * Collection values()
         * 該方法會將當前Map中所有的value存入一個
         * 集合後返回。
         */
        Collection<Integer> values = map.values();
        for(Integer value : values){
            System.out.println(value);
        }
        
    }
}