Java 中的Map之Hashtable再認知

目錄

代碼

方法

LearnHashTable.java


Java代碼寫了不少,但是就是碎片化的,現在系統的整理一下;

代碼

方法

*構造方法摘要
*  * Hashtable()
*  *           用默認的初始容量 (11) 和加載因子 (0.75) 構造一個新的空哈希表。
*
*  * Hashtable(int initialCapacity)
*  *           用指定初始容量和默認的加載因子 (0.75) 構造一個新的空哈希表。
*
*  * Hashtable(int initialCapacity, float loadFactor)
*  *           用指定初始容量和指定加載因子構造一個新的空哈希表。
*
*  * Hashtable(Map<? extends K,? extends V> t)
*  *           構造一個與給定的 Map 具有相同映射關係的新哈希表。
*
*方法摘要
*  *  void clear()
*  *           將此哈希表清空,使其不包含任何鍵。
*
*  *  Object   clone()
*  *           創建此哈希表的淺表副本。
*
*  *  boolean  contains(Object value)
*  *           測試此映射表中是否存在與指定值關聯的鍵。
*
*  *  boolean  containsKey(Object key)
*  *           測試指定對象是否爲此哈希表中的鍵。
*
*  *  boolean  containsValue(Object value)
*  *           如果此 Hashtable 將一個或多個鍵映射到此值,則返回 true。
*
*  *  Enumeration<V>   elements()
*  *           返回此哈希表中的值的枚舉。
*
*  *  Set<Map.Entry<K,V>>  entrySet()
*  *           返回此映射中包含的鍵的 Set 視圖。
*
*  *  boolean  equals(Object o)
*  *           按照 Map 接口的定義,比較指定 Object 與此 Map 是否相等。
*
*  *  V    get(Object key)
*  *           返回指定鍵所映射到的值,如果此映射不包含此鍵的映射,則返回 null. 更確切地講,如果此映射包含滿足 (key.equals(k)) 的從鍵 k 到值 v 的映射,則此方法返回 v;否則,返回 null。
*
*  *  int  hashCode()
*  *           按照 Map 接口的定義,返回此 Map 的哈希碼值。
*
*  *  boolean  isEmpty()
*  *           測試此哈希表是否沒有鍵映射到值。
*
*  *  Enumeration<K>   keys()
*  *           返回此哈希表中的鍵的枚舉。
*
*  *  Set<K>   keySet()
*  *           返回此映射中包含的鍵的 Set 視圖。
*
*  *  V    put(K key, V value)
*  *           將指定 key 映射到此哈希表中的指定 value。
*
*  *  void putAll(Map<? extends K,? extends V> t)
*  *           將指定映射的所有映射關係複製到此哈希表中,這些映射關係將替換此哈希表擁有的、針對當前指定映射中所有鍵的所有映射關係。
*
*  * protected  void   rehash()
*  *           增加此哈希表的容量並在內部對其進行重組,以便更有效地容納和訪問其元素。
*
*  *  V    remove(Object key)
*  *           從哈希表中移除該鍵及其相應的值。
*
*  *  int  size()
*  *           返回此哈希表中的鍵的數量。
*
*  *  String   toString()
*  *           返回此 Hashtable 對象的字符串表示形式,其形式爲 ASCII 字符 ", " (逗號加空格)分隔開的、括在括號中的一組條目。
*
*  *  Collection<V>    values()
*  *           返回此映射中包含的鍵的 Collection 視圖。
*
* 從類 java.lang.Object 繼承的方法
*  * finalize, getClass, notify, notifyAll, wait, wait, wait

LearnHashTable.java

package javacollection.map;


import java.util.*;


public class LearnHashTable {
    public static void main(String[] args){
        Hashtable<String,Integer> hashtable = new Hashtable<>();
        Map<String,Integer> map = new HashMap<>();
        map.put("Hadoop", 80);
        map.put("Spark", 99);
        map.put("Hive", 78);

        hashtable.putAll(map);
        hashtable.put("Hbase", 88);
        hashtable.put("", 91);

        // 測試此映射表中是否存在與指定值關聯的鍵。
        boolean isContains90Key = hashtable.contains(90);
        System.out.println("hashtable contains key of value=90: "+ isContains90Key);

        // 返回此哈希表中的值的枚舉。
        Enumeration enumeration = hashtable.elements();
        while (enumeration.hasMoreElements()){
            Integer key = (Integer) enumeration.nextElement();
            System.out.println("enumeration: "+ key);
        }

        // 返回此映射中包含的鍵的 Collection 視圖。
        Collection collection = hashtable.values();
        Iterator iterator = collection.iterator();
        while (iterator.hasNext()){
            Integer value = (Integer)iterator.next();
            System.out.println("collection: "+ value);
        }


        // 按照 Map 接口的定義,返回此 Map 的哈希碼值。
        int hashCode = hashtable.hashCode();
        System.out.println("hashtable hashCode: "+ hashCode);

        //返回此哈希表中的鍵的枚舉。
        Enumeration keys = hashtable.keys();
        while (keys.hasMoreElements()){
            System.out.println("keys: "+ keys.nextElement());
        }

        // 返回此 Hashtable 對象的字符串表示形式,其形式爲 ASCII 字符 ", " (逗號加空格)分隔開的、括在括號中的一組條目。
        String result = hashtable.toString();
        System.out.println("hashtable call toString(): "+ result);

    }
}

 

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