1. 程式人生 > 實用技巧 >Java基礎12--雙列集合

Java基礎12--雙列集合

1 Map集合

1.1 Map概述

  • Map集合概述

    interface Map<K,V>  K:鍵的型別;V:值的型別
    
  • Map集合的特點

    • 鍵值對對映關係
    • 一個鍵對應一個值
    • 鍵不能重複,值可以重複
    • 元素存取無序
  • Map集合的基本使用

    public class MapDemo01 {
        public static void main(String[] args) {
            //建立集合物件
            Map<String,String> map = new HashMap<String,String>();
    
            //V put(K key, V value) 將指定的值與該對映中的指定鍵相關聯
            map.put("name1","小明");
            map.put("name2","小玉");
            map.put("name3","小紅");
            map.put("name4","小燦");
    
            //輸出集合物件
            System.out.println(map);
        }
    }
    

1.2 Map集合基本方法

  • 方法介紹

    方法名 說明
    V put(K key,V value) 新增元素
    V remove(Object key) 根據鍵刪除鍵值對元素
    void clear() 移除所有的鍵值對元素
    boolean containsKey(Object key) 判斷集合是否包含指定的鍵
    boolean containsValue(Object value) 判斷集合是否包含指定的值
    boolean isEmpty() 判斷集合是否為空
    int size() 集合的長度,也就是集合中鍵值對的個數
  • 示例程式碼

    public class MapDemo02 {
        public static void main(String[] args) {
            //建立集合物件
            Map<String,String> map = new HashMap<String,String>();
    
            //V put(K key,V value):新增元素
            map.put("張無忌","趙敏");
            map.put("郭靖","黃蓉");
            map.put("楊過","小龍女");
    
            //V remove(Object key):根據鍵刪除鍵值對元素
    //        System.out.println(map.remove("郭靖"));
    //        System.out.println(map.remove("郭襄"));
    
            //void clear():移除所有的鍵值對元素
    //        map.clear();
    
            //boolean containsKey(Object key):判斷集合是否包含指定的鍵
    //        System.out.println(map.containsKey("郭靖"));
    //        System.out.println(map.containsKey("郭襄"));
    
            //boolean isEmpty():判斷集合是否為空
    //        System.out.println(map.isEmpty());
    
            //int size():集合的長度,也就是集合中鍵值對的個數
            System.out.println(map.size());
    
    
            //輸出集合物件
            System.out.println(map);
        }
    }
    

1.3 Map集合的獲取方法

  • 方法介紹

    方法名 說明
    V get(Object key) 根據鍵獲取值
    Set keySet() 獲取所有鍵的集合
    Collection values() 獲取所有值的集合
    Set<Map.Entry<K,V>> entrySet() 獲取所有鍵值對物件的集合
  • 示例程式碼

    public class MapDemo03 {
        public static void main(String[] args) {
            //建立集合物件
            Map<String, String> map = new HashMap<String, String>();
    
            //新增元素
            map.put("張無忌", "趙敏");
            map.put("郭靖", "黃蓉");
            map.put("楊過", "小龍女");
    
            //V get(Object key):根據鍵獲取值
    //        System.out.println(map.get("張無忌"));
    //        System.out.println(map.get("張三丰"));
    
            //Set<K> keySet():獲取所有鍵的集合
    //        Set<String> keySet = map.keySet();
    //        for(String key : keySet) {
    //            System.out.println(key);
    //        }
    
            //Collection<V> values():獲取所有值的集合
            Collection<String> values = map.values();
            for(String value : values) {
                System.out.println(value);
            }
        }
    }
    

1.4 Map集合遍歷

  • 程式碼實現1

    public class MapDemo01 {
        public static void main(String[] args) {
            //建立集合物件
            Map<String, String> map = new HashMap<String, String>();
    
            //新增元素
            map.put("張無忌", "趙敏");
            map.put("郭靖", "黃蓉");
            map.put("楊過", "小龍女");
    
            //獲取所有鍵的集合。用keySet()方法實現
            Set<String> keySet = map.keySet();
            //遍歷鍵的集合,獲取到每一個鍵。用增強for實現
            for (String key : keySet) {
                //根據鍵去找值。用get(Object key)方法實現
                String value = map.get(key);
                System.out.println(key + "," + value);
            }
        }
    }
    
  • 程式碼實現2

    public class MapDemo02 {
        public static void main(String[] args) {
            //建立集合物件
            Map<String, String> map = new HashMap<String, String>();
    
            //新增元素
            map.put("張無忌", "趙敏");
            map.put("郭靖", "黃蓉");
            map.put("楊過", "小龍女");
    
            //獲取所有鍵值對物件的集合
            Set<Map.Entry<String, String>> entrySet = map.entrySet();
            //遍歷鍵值對物件的集合,得到每一個鍵值對物件
            for (Map.Entry<String, String> me : entrySet) {
                //根據鍵值對物件獲取鍵和值
                String key = me.getKey();
                String value = me.getValue();
                System.out.println(key + "," + value);
            }
        }
    }