Java HashTable类简介说明
下文讲述HashTable的相关简介说明,如下所示:
hashTable将key和value结合起来构成键值对通过put(key,value)方法保存起来 hashTable中可以使用get(key)方法获取相对应的value值 它是线程安全的哈希映射表 hashTable内部采用Entry[]数组,每个Entry均可作为链表的头 用来解决冲突(碰撞)
hashTable的定义方法
public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable 从Hashtable的定义方式,我们可以得出 HashTable继承Dictionary类,并实现Map接口 其中Dictionary类是任何可将键映射到相应值的类(如 Hashtable)的抽象父类 每个键和每个值都是一个对象 在任何一个 Dictionary 对象中,每个键至多与一个值相关联 Map是"key-value键值对"接口
构造函数
public Hashtable() //设置“容量大小”的构造函数 public Hashtable(int initialCapacity) //设置“容量大小”及“加载因子”的构造函数 public Hashtable(int initialCapacity, float loadFactor) //包含“子Map”的构造函数 public Hashtable(Map<? extends K, ? extends V> t) ---参数说明---- table:是一个Entry[]数组类型 Entry代表了“拉链”的节点 每一个Entry代表了一个键值对 哈希表的"key-value键值对"都是存储在Entry数组中的。 count:HashTable的大小,hashTable中包含Entry对象的数量 threshold:Hashtable的阈值,用于判断是否需要调整Hashtable的容量 threshold的值="容量*加载因子"。 loadFactor:加载因子 modCount:用来实现“fail-fast”机制的(也就是快速失败) 所谓快速失败就是在并发集合中 其进行迭代操作时 若有其他线程对其进行结构性的修改 这时迭代器会立马感知到 并且立即抛出ConcurrentModificationException异常 而不是等到迭代完成之后才告诉你
hashTable中的方法
synchronized void clear() |
synchronized Object clone() |
boolean contains(Object value) |
synchronized boolean containsKey(Object key) |
synchronized boolean containsValue(Object value) |
synchronized Enumeration<V> elements() |
synchronized Set<Entry<K, V>> entrySet() |
synchronized boolean equals(Object object) |
synchronized V get(Object key) |
synchronized int hashCode() |
synchronized boolean isEmpty() |
synchronized Set<K> keySet() |
synchronized Enumeration<K> keys() |
synchronized V put(K key, V value) |
synchronized void putAll(Map<? extends K, ? extends V> map) |
synchronized V remove(Object key) |
synchronized int size() |
synchronized String toString() |
synchronized Collection<V> values() |
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。