国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java復習之Map接口

2019-11-06 08:19:16
字體:
來源:轉載
供稿:網友
1.Map接口

public interface Map<K,V>

將鍵映射到值的對象,一個映射不能包含重復的鍵:每個鍵最多只能映射到一個值void clear()清空Map集合中的內容boolen containsKey(Object key)判斷集合中是否存在指定的keyboolen containsValue(Object value)判斷集合中是否存在指定的valueSet<Map.Entry<K,V>> entrySet()將Map接口變為set集合V get(Object key)根據key找到其對應的valueboolen isEmpty()判斷是否為空Set<K> keySet()將全部的key變為Set集合Collection<V> values()將全部的value變為Collection集合V put(K key,V value)向集合中增加內容void putAll(Map<?extends K,extends V> m)增加一組集合V remove(Object key)增加key刪除內容

2.HashMap

public class HashMap<K,V>

extends Map<K,V>,Clonable,Serializable基于哈希表的Map接口實現。此實現提供所有的可選的映射操作,并允許使用null值和null鍵。(除了非同步和允許使用null之外,HashMap類與Hashtable大致相同。)此類不保證映射的順序,特別是它不保證順序恒久不變

HashMap注意事項

1.基于哈希表+鏈表實現2.默認容量為16,加載因子為0.753.當哈希表需要重新撒列,會影響性能4.每次重新散列的方式:原數組長度*2

    public static void hashMap()    {        //創建一個HashMap對象,使用泛型的時候使用的是對象,進行裝箱操作        Map<Integer,String >map =new HashMap<Integer, String>();        //添加數據        map.put(1,"白老師");        map.put(2,"蒼老師");        map.put(3,"武老師");        //根據鍵取值        System.out.PRintln(map.get(1));        System.out.println(map.size());        System.out.println(map.containsKey(1));        System.out.println(map.containsValue("武老師"));        //獲取map中的所有key對象的set        Set<Integer> keyset=map.keySet();        Iterator iterator =keyset.iterator();        while(iterator.hasNext())        {            Integer key=(Integer) iterator.next();            String value=map.get(key);            System.out.println("key="+key+",value="+value);        }    }

3.Hashtable

public class Hashtable<K,V>

extends Map<K,V>,Clonenable,Serializable此類實現一個哈希表,該哈希表將鍵值映射到相應的值,任何非null對象都可以用作鍵或者值。

為了成功地在哈希表中存儲和獲取對象,用作鍵的對象必須實現hashCode方法和equals方法

HashTable注意事項

1.鍵值不允許為空

2.默認的初始容量為11,加載因子為0.75

3.線程安全的,同步

 public static void hashTable()    {        Hashtable<String,String> hashtable=new Hashtable();        hashtable.put("1","包老師");        hashtable.put("2","曹老師");    }

4.Map集合的輸出

在Collection接口中,可以使用iterator()方法為Iterator接口實例化,并進行輸出操作,但是在Map接口中并沒有此方法的定義,所以Map接口本身是不能直接使用Iterator進行輸出的。

 1.使用map.keyset()方法把所有的key對象以轉換成set集合, 然后迭代set集合取出每個key,再通過key從map中取值

 2.使用map.values()方法把所有的value對象轉換成collection集合,然后遍歷

 3.使用map.entrySet()方法把所有的Entry對象轉換成set集合,然后進行迭代

Set<Map.Entry<K,V>> entrySet()返回此映射所包含的映射關系的Set視圖Set<K> keyset()返回此映射中所包含的鍵的Set視圖Collection<V> values()

返回此映射中所包含的值的collection視圖

public static void print()    {        Map<Integer,String> map=new HashMap<>();        Integer i1=new Integer(1);        Integer i2=new Integer(2);        Integer i3=new Integer(3);        map.put(i1,"白老師");        map.put(i2,"蒼老師");        map.put(i3,"武老師");        //方式2        Collection<String> c=map.values();        Iterator<String> iterator=c.iterator();        while(iterator.hasNext())        {            String value=iterator.next();            System.out.println(value);        }        //方式3        Set<Map.Entry<Integer,String>> entrys=map.entrySet();        Iterator<Map.Entry<Integer,String>> iterator1=entrys.iterator();        while (iterator1.hasNext())        {            Map.Entry<Integer,String> entry=iterator1.next();            System.out.println(entry.getKey()+"---"+entry.getValue());        }    }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌审旗| 河池市| 海林市| 阜南县| 宿松县| 台北县| 尼勒克县| 大冶市| 抚州市| 称多县| 吐鲁番市| 泽州县| 乌苏市| 兰州市| 咸丰县| 大冶市| 阜阳市| 土默特右旗| 弥渡县| 青田县| 壶关县| 高密市| 雅江县| 德惠市| 弥渡县| 呼图壁县| 郴州市| 瑞金市| 信宜市| 平昌县| 衡阳县| 鹤峰县| 资兴市| 鄂托克前旗| 郧西县| 渭源县| 青阳县| 长丰县| 乌兰县| 安图县| 江口县|