日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

集合-Map 接口

 印度阿三17 2019-10-29
1. 概述   java.util.Map <K,V>接口是一個頂層接口,里面存放的數(shù)據(jù)單元是:單對元素;
  • K 表示 描述的鍵 的類型,Key 的類型;

  • V 表示 描述的值 的類型,Value的類型;

  • Map就是用于存放 Key-Value 鍵值對 的集合;

  • Map集合中,Key不允許重復,并且 一個Key只能對應(yīng)一個Value;

           Map接口的主要實現(xiàn)類: HashMap類 (哈希表數(shù)據(jù)結(jié)構(gòu)) TreeMap類 (紅黑樹)   2. 常用方法 Map <K,V>   V put(K key, V value) -將參數(shù)指定的key 和 value組成一個完整鍵值對,放入集合。 - 若集合中之前沒有該key值,則返回null。 -否則返回之前key值對應(yīng)的value值。     V remove(Object key) -刪除參數(shù)指定key對應(yīng)的鍵值對,返回key對應(yīng)的value值 boolean containsKey(Object key) -用于判斷參數(shù)指定的key值是否存在 boolean containsValue(Object value) -用于判斷參數(shù)指定的value是否存在 V get(Object key) -用于獲取參數(shù)key對應(yīng)的value值   Set<Map.Entry<K, V>> entrySet( ) -用于獲取Map集合的Set視圖 K getKey( ) -用于獲取調(diào)用對象的key值 V getValue( ) -用于獲取調(diào)用對象的value值 Set<K> keySet( ) -獲取Map集合中 key的Set視圖   代碼:
package com.monkey1024.map;

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

public class MapTest {

    public static void main(String[] args) {
        
        // 定義一個接口類型的引用指向 實現(xiàn)類的對象,形成多態(tài)
        Map<String,String> m1=new HashMap<String,String> ();
        
        //操作1: 向集合中添加元素
        String val = m1.put("1", "one");
        System.out.println("1.向集合中添加元素(\"1\", \"one\"): " val);    //null
        
        val=m1.put("2", "two");
        System.out.println("1.向集合中添加元素(\"2\", \"two\"): " val);  //null
        
        val=m1.put("3", "three");
        System.out.println("1.向集合中添加元素(\"3\", \"three\"): " val);  //null
        
        System.out.println();
        
        // 操作2:若鍵值對已經(jīng)存在,相當于修改value的效果
        val= m1.put("1", "eleven");
        
        System.out.println("2.向集合中添加元素(\"1\", \"eleven\")");
        System.out.println("若鍵值對已經(jīng)存在,否則返回之前key值對應(yīng)的value值");
        System.out.println("打印value值:  " val);
        
        System.out.println();
        
        
        // 操作3:判斷key值為 "1"的元素 是否存在
        
        boolean b = m1.containsKey("1");
        System.out.println("3.判斷key值為 \"1\"的元素 是否存在: " b);
        System.out.println();
        
        
         // 操作4:判斷value值為 "two"的元素 是否存在
         b = m1.containsValue("two");
         System.out.println("4.判斷value值為 \"two\"的元素 是否存在: "  b);
         System.out.println();
         
         // 操作5:獲取 key值為 "3",對應(yīng)的 value值
         String str = m1.get("3");
         System.out.println("5.獲取 key值為 \"3\",對應(yīng)的 value值: " str);
         System.out.println();
         
         // 操作6: 刪除key值為"3"元素對應(yīng)的值
         String remove = m1.remove("3");
         System.out.println("6.刪除key值為\"3\"元素對應(yīng)的值: " remove);
         System.out.println();
         
         
         // 操作7: 將Map轉(zhuǎn)換為 Set,得到 Set的視圖
         Set<Map.Entry<String, String>> s1 = m1.entrySet();
         System.out.println("7.將Map轉(zhuǎn)換為 Set,得到 Set的視圖: " s1);
         System.out.println();
         
         // 操作8:打印Set視圖  中的每一個元素的 key 和 value
         for(Map.Entry<String, String> me:s1) {
             System.out.println("8.將Map轉(zhuǎn)換為 Set,得到 Set的視圖: " me.getKey() "," me.getValue());
         }
         System.out.println( );
         
         // 操作9: 獲取map中的key組成的Set視圖
         Set<String> s2 = m1.keySet();
         System.out.println("9.獲取map中的key組成的Set視圖: " s2);
         System.out.println();
         
         // 操作10:打印集合中的所有key 和 value
         for(String s:s2) {
             System.out.println("10.打印集合中的所有key 和 value: " s "," m1.get(s));
             
         }
         

    }

}
結(jié)果:
1.向集合中添加元素("1", "one"): null
1.向集合中添加元素("2", "two"): null
1.向集合中添加元素("3", "three"): null

2.向集合中添加元素("1", "eleven")
若鍵值對已經(jīng)存在,否則返回之前key值對應(yīng)的value值
打印value值:  one

3.判斷key值為 "1"的元素 是否存在: true

4.判斷value值為 "two"的元素 是否存在: true

5.獲取 key值為 "3",對應(yīng)的 value值: three

6.刪除key值為"3"元素對應(yīng)的值: three

7.將Map轉(zhuǎn)換為 Set,得到 Set的視圖: [1=eleven, 2=two]

8.將Map轉(zhuǎn)換為 Set,得到 Set的視圖: 1,eleven
8.將Map轉(zhuǎn)換為 Set,得到 Set的視圖: 2,two

9.獲取map中的key組成的Set視圖: [1, 2]

10.打印集合中的所有key 和 value: 1,eleven
10.打印集合中的所有key 和 value: 2,two

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多