- Java.util 包类
- Java.util - 首页
- Java.util - ArrayDeque
- Java.util - ArrayList
- Java.util - Arrays
- Java.util - BitSet
- Java.util - Calendar
- Java.util - Collections
- Java.util - Currency
- Java.util - Date
- Java.util - Dictionary
- Java.util - EnumMap
- Java.util - EnumSet
- Java.util - Formatter
- Java.util - GregorianCalendar
- Java.util - HashMap
- Java.util - HashSet
- Java.util - Hashtable
- Java.util - IdentityHashMap
- Java.util - LinkedHashMap
- Java.util - LinkedHashSet
- Java.util - LinkedList
- Java.util - ListResourceBundle
- Java.util - Locale
- Java.util - Observable
- Java.util - PriorityQueue
- Java.util - Properties
- Java.util - PropertyPermission
- Java.util - PropertyResourceBundle
- Java.util - Random
- Java.util - ResourceBundle
- Java.util - ResourceBundle.Control
- Java.util - Scanner
- Java.util - ServiceLoader
- Java.util - SimpleTimeZone
- Java.util - Stack
- Java.util - StringTokenizer
- Java.util - Timer
- Java.util - TimerTask
- Java.util - TimeZone
- Java.util - TreeMap
- Java.util - TreeSet
- Java.util - UUID
- Java.util - Vector
- Java.util - WeakHashMap
- Java.util 包其他
- Java.util - 接口
- Java.util - 异常
- Java.util - 枚举
- Java.util 有用资源
- Java.util - 有用资源
- Java.util - 讨论
Java Hashtable 类
简介
Java Hashtable 类实现了哈希表,它将键映射到值。以下是关于 Hashtable 的重要要点:
在其中,任何非空对象都可以用作键或值。
如果要向 Hashtable 中添加许多条目,则使用足够大的容量创建它可以比根据需要执行自动重新哈希来扩展表更有效地插入条目。
类声明
以下是 java.util.Hashtable 类的声明:
public class Hashtable<K,V> extends Dictionary<K,V> implements Hashtable<K,V>, Cloneable, Serializable
类构造函数
| 序号 | 构造函数及说明 |
|---|---|
| 1 | Hashtable() 这将构造一个新的空哈希表,其默认初始容量为 (11) 且负载因子为 (0.75)。 |
| 2 | Hashtable(int initialCapacity) 这将构造一个新的空哈希表,其指定的初始容量和默认负载因子为 (0.75)。 |
| 3 | Hashtable(int initialCapacity, float loadFactor) 这将构造一个新的空哈希表,其指定的初始容量和指定的负载因子。 |
| 4 | Hashtable(Hashtable<? extends K,? extends V> t) 这将构造一个新的哈希表,其映射与给定的 Hashtable 相同。 |
类方法
| 序号 | 方法及说明 |
|---|---|
| 1 | void clear()
此方法清除此哈希表,使其不包含任何键。 |
| 2 | Object clone()
此方法创建此哈希表的浅拷贝。 |
| 3 | V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
尝试为指定的键及其当前映射值(如果当前没有映射则为 null)计算映射。 |
| 4 | V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
如果指定的键尚未与值关联(或映射到 null),则尝试使用给定的映射函数计算其值,并将其输入到此哈希表中,除非为 null。 |
| 5 | V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
如果指定键的值存在且非 null,则尝试根据键及其当前映射值计算新的映射。 |
| 6 | boolean contains(Object value)
此方法测试某个键是否映射到此哈希表中的指定值。 |
| 7 | boolean containsKey(Object key)
此方法测试指定的对象是否为此哈希表中的键。 |
| 8 | boolean containsValue(Object value)
如果此哈希表将一个或多个键映射到此值,则此方法返回 true。 |
| 9 | Enumeration<V> elements()
此方法返回此哈希表中值的枚举。 |
| 10 | Set<Hashtable.Entry<K,V>> entrySet()
此方法返回此哈希表中包含的映射的 Set 视图。 |
| 11 | boolean equals(Object o)
此方法根据 Hashtable 接口中的定义,将指定的 Object 与此 Hashtable 进行相等性比较。 |
| 12 | V get(Object key)
此方法返回指定键映射到的值,如果此哈希表不包含该键的映射,则返回 null。 |
| 13 | int hashCode()
此方法根据 Hashtable 接口中的定义返回此 Hashtable 的哈希码值。 |
| 14 | boolean isEmpty()
此方法测试此哈希表是否不将任何键映射到值。 |
| 15 | Enumeration<K> keys()
此方法返回此哈希表中键的枚举。 |
| 16 | Set<K> keySet()
此方法返回此哈希表中包含的键的 Set 视图。 |
| 17 | V put(K key, V value)
此方法将指定的键映射到此哈希表中的指定值。 |
| 18 | void putAll(Hashtable<? extends K,? extends V> t)
此方法将指定哈希表中的所有映射复制到此哈希表。 |
| 19 | V remove(Object key)
此方法从此哈希表中删除键(及其对应的值)。 |
| 20 | int size()
此方法返回此哈希表中的键数。 |
| 21 | String toString()
此方法以一组条目的形式返回此 Hashtable 对象的字符串表示形式,这些条目括在括号中,并用 ASCII 字符“,”(逗号和空格)分隔。 |
| 22 | Collection<V> values()
此方法返回此哈希表中包含的值的 Collection 视图。 |
继承的方法
此类继承自以下类中的方法:
- java.util.Object
向 Integer,Integer 对的 HashTable 添加映射的示例
以下示例显示了 Java Hashtable put() 方法的使用,用于在 Hashtable 中放入一些值。我们创建了一个 Integer,Integer 对的 Hashtable 对象。然后使用 put() 方法添加了一些条目,然后打印表。
package com.tutorialspoint;
import java.util.Hashtable;
public class HashtableDemo {
public static void main(String args[]) {
// create hash table
Hashtable<Integer,Integer> hashtable = new Hashtable<>();
// populate hash table
hashtable.put(1, 1);
hashtable.put(2, 2);
hashtable.put(3, 3);
System.out.println("Hashtable elements: " + hashtable);
}
}
让我们编译并运行以上程序,这将产生以下结果。
Hashtable elements: {3=3, 2=2, 1=1}