菜鳥學JAVA之——集合框架(三)(Map接口的實現類HashMap)

Map容器

Map自己就是頂級接口,他並不是Collection的子接口。List的頂級接口是Collection,Collection上面還有一個接口Iterable。

list、set放置內容的時候,使用的都是單一一個泛型來確定放置的內容的類型是什麼

Map的一些方法

確認是否有鍵值containsKey,確認是否有值containsValue,確實是否爲空isEmpty,長度size,放置內容put,取出內容get(key),刪除內容remove ,轉換成容器values

public class Main {
    public static void main(String[] args) {
 		//映射表
        //map中存的是K-V對,我們放置內容的時候,確定一下Key值和V值,這兩個值
        //一一對應,我們取值的時候,使用的是Key值來取出V值
        Map<String,Student> map = new HashMap<>();
        map.put("liguocheng",new Student("liguocheng",23)); //添加
        System.out.println(map.get("liguocheng"));//獲取/替換
        System.out.println(map.size()); //求長
        Student s = new Student("libin",99);
        map.put("liguocheng",s);//下來輸出size大小爲1,因爲裏面不能放重複的Key值。如果一樣,則後面添加的把前面添加的覆蓋
        System.out.println(map.size());//輸出2
        System.out.println(map.get("liguocheng").name); //輸出libin
        System.out.println(map.containsKey("liguocheng"));//true
        System.out.println(map.containsKey("zhangaoqi"));//false
        System.out.println(map.containsValue(s));//true
        System.out.println(map.isEmpty());//false   判斷是否爲空

        //轉換成容器類型
        //values:將所有value值拿出來放到一個集合中
        //比如放到一個list中,這是就不需要再用Key來取值,用腳標就可以了
        List<Student> list = new ArrayList<>();
        list.addAll(map.values());
        System.out.println(list.get(0));
        System.out.println("---------------------");
        map.put("zhangaoqi",new Student("zaq",20));
        map.replace("zhangaoqi",new Student("zhangaoqi",19));//替換,與put類似(key值一樣就可以替換)          
    }
}

Map的兩種遍歷方式

//縱切式遍歷
        Set<String> keys = map.keySet();
        for(String item : keys) {
            System.out.println(item + ": " +map.get(item).name);
        }

//橫切遍歷
        Set<Map.Entry<String,Student>> entries = map.entrySet();
        for(Map.Entry<String,Student> item : entries) {
            System.out.println(item.getKey() + ": " +item.getValue().name);
        }

map不能用iterator遍歷,當然也就不能用foreach遍歷

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