目錄
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); } }