Map集合

你的镁偷走了我的锌發表於2024-10-16

一、Map集合的特點

1.元素是鍵值對構成的

2.在同一個Map集合中,鍵是唯一的

3.在同一個Map集合中,值可以發生重複

4.一對鍵值,代表集合中的元素

二、Map集合的方法

1.V put(K key,V value)向Map集合中新增元素
2.V remove(object 0)移除一個鍵值對
3.void clear()清空Map集合
4.boolean containsKey(Object key) 判斷key在不在該集合中
5.boolean containsValue(object value)判斷value在不在集合中
6.boolean isEmpty() 判斷Map集合中是否有鍵值對
7.int size() 判斷鍵值對的個數
8.V get(Object key) 根據鍵獲取值
9.Set keySet() 獲取所有的鍵
10.Collection value()獲取所有的值
11.Set<Map.Entry<K,V>> entry()獲取所有的鍵值對

public class MapDemo1 {
    public static void main(String[] args) {
        HashMap<Integer, String> map1 = new HashMap<>();

        //V put(K key,V value) 向集合中新增一對元素  返回鍵原本的舊值
//        System.out.println(map1.put(1001, "李剛"));
//        System.out.println("map1: " + map1);
//        System.out.println("----------------------");
//        System.out.println(map1.put(1001, "xiaohu"));
//        System.out.println("map1: " + map1);
        map1.put(1001, "李剛1");
        map1.put(1002, "李剛2");
        map1.put(1003, "李剛3");
        map1.put(1001, "李剛4");
        map1.put(1004, "李剛5");
        System.out.println("map1: " + map1);
        System.out.println("----------------------");
        //V remove(Object key) 根據鍵移除一個鍵值對
//        System.out.println(map1.remove(1001));
//        System.out.println("map1: " + map1);
        //void clear()
//        map1.clear();
//        System.out.println("map1: " + map1);

        //boolean containsKey(Object key) 判斷鍵是否存在
//        System.out.println(map1.containsKey(1001));

        //boolean containsValue(Object value) 判斷值是否存在
//        System.out.println(map1.containsValue("李剛1"));

        //boolean isEmpty() 判斷Map集合中是否有鍵值對
//        System.out.println(map1.isEmpty());

        //int size() 返回Map集合中鍵值對的元素個數
//        System.out.println(map1.size());

        //V get(Object key) 根據鍵獲取值
//        System.out.println(map1.get(1001));
//        System.out.println(map1.get(1009)); // null

        //Set<K> keySet() 獲取所有的鍵
//        Set<Integer> keySet = map1.keySet();
//        for (Integer i : keySet) {
//            System.out.println(i);
//        }

        //Collection<V> values() 獲取所有的值
//        Collection<String> values = map1.values();
//        for (String value : values) {
//            System.out.println(value);
//        }

//        Set<Map.Entry<K,V>> entrySet()
        System.out.println(map1.entrySet());


    }
}

三、Map集合的遍歷

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

public class MapDemo2 {
    public static void main(String[] args) {
        //Map集合遍歷
        HashMap<Integer, String> map1 = new HashMap<>();
        map1.put(1001, "李剛1");
        map1.put(1002, "李剛2");
        map1.put(1003, "李剛3");
        map1.put(1001, "李剛4");
        map1.put(1004, "李剛5");
        System.out.println("map1: " + map1);
        System.out.println("----------------------");


        // 方式1:獲取所有的鍵,遍歷鍵,根據鍵獲取值
//        Set<Integer> keySet = map1.keySet();
//        for (Integer key : keySet) {
//            String value = map1.get(key);
//            System.out.println(key + "-" + value);
//        }

        // 方式2:直接獲取所有的鍵值對,遍歷每一個鍵值對得到每一個鍵和值
        //Set<Map.Entry<K,V>> entrySet()
        Set<Map.Entry<Integer, String>> entries = map1.entrySet();
        for (Map.Entry<Integer, String> entry : entries) {
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + ":" + value);
        }
    }
}

相關文章