HashTable基本介绍与使用方法

简介: HashTable基本介绍与使用方法

HashTable

基本介绍

  1. 存放元素是键值对
  2. Hashtable的键和值都不能为null,否则会抛出NullPointerException
  3. Hashtable使用方法基本和HashMap一样
  4. Hashtable是线程安全的,HashMap是线程不安全的

扩容机制

  1. 底层数组HashTable$Entry[]初始化11
  2. 临界值threshould 8 = 11 * 0.75
  3. 扩容
  4. 执行方法sddEntry(hash,key,value,index);添加K-V封装到Entry
  5. 当if(count >= threshold)满足时,进行扩容
  6. 按照 int newCapacity = (oldCapacity << 1) + 1大小扩容
static  Hashtable ht = new Hashtable(); //创建一个Hashtable实例
public void HashTablePra()
        {
            
            ht.add("E", "e");//添加keyvalue键值对
            ht.add("A", "a");
            ht.add("C", "c");
            ht.add("B", "b");

            string s = (string)ht["A"];
            if (ht.Contains("E")) //判断哈希表是否包含特定键,其返回值为true或false
                Console.WriteLine("the E key exist");
            ht.remove("C");//移除一个keyvalue键值对
            console.writeLine(ht["A"]);//此处输出a
            
            console.writeLine(ht["A"]); //此处将不会有任何输出
            
            ArrayList akeys = new ArrayList(ht.Keys); //别忘了导入System.Collections
            akeys.sort(); //按字母顺序进行排序
            foreach(string skey in akeys)
            {
                console.write(skey + ":");
                console.writeLine(ht[skey]); //排序后输出
             }
            ht.clear();//移除所有元素
        }
相关文章
|
6月前
|
存储 缓存 安全
ConcurrentHashMap:使用方法和底层原理详解
ConcurrentHashMap:使用方法和底层原理详解
180 1
|
6月前
Map集合的简述
Map集合的简述
|
6月前
|
存储 安全 Java
|
6月前
|
Java
【JDK 源码分析】HashMap 操作方法
【1月更文挑战第27天】【JDK 源码分析】HashMap Put 元素 初始化
|
12月前
|
存储 Cloud Native Linux
C++ list底层实现原理
C++ list底层实现原理
|
存储 并行计算 安全
ConcurrentHashMap的使用方法及其内部实现原理
ConcurrentHashMap的使用方法及其内部实现原理
180 0
|
存储 算法 Java
HashMap的底层实现原理及其一些常用方法的总结
首先,HashSet的底层实现就是map,接下来介绍一下HashMap的底层实现原理(以jdk7和jdk8为例),HashMap的一些常用方法我整理了一下,放到了文章结束的代码块里。 先介绍jdk7的: 当 HashMap map = new HashMap(); 实例化一个对象时,其底层实际上创建了一个Entry[ ] 类型的长度为16的数组。 然后,当你map.put(key,value);往map容器中添加对象时,底层会进行以下过程: ...
108 0
HashMap的底层实现原理及其一些常用方法的总结
|
存储 安全 Java
Java集合框架详述之Map集合
Map与Collection无继承关系,Map集合以Key和Value的方式存储数据。(键值对)
Java集合框架详述之Map集合
|
存储 Java Scala
Map 的基本介绍和创建 | 学习笔记
快速学习 Map 的基本介绍和创建
|
存储 安全 Java
Java集合源码剖析——基于JDK1.8中Vector的实现原理
Java集合源码剖析——基于JDK1.8中Vector的实现原理
Java集合源码剖析——基于JDK1.8中Vector的实现原理