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();//移除所有元素
        }
相关文章
|
存储 Linux 网络安全
如何使用iptables在Linux中进行流量转发?
如何使用iptables在Linux中进行流量转发?
1931 0
如何使用iptables在Linux中进行流量转发?
|
12月前
|
数据处理 Python
Python数据转换:从Pandas到NumPy转换
Python数据转换:从Pandas到NumPy转换
276 0
|
12月前
|
IDE 开发工具 Python
python3代码编程规范(命名、空格、注释、代码布局、编程建议等)
该文章详细介绍了Python3的编程规范,包括命名、空格使用、注释、代码布局等方面的最佳实践,帮助提升代码的可读性和一致性。
893 0
|
存储 安全 Java
Hashtable 和 HashMap 的区别
【8月更文挑战第22天】
625 0
|
消息中间件 NoSQL Redis
Redis Stream消息队列之基本语法与使用方式
这篇文章详细介绍了Redis Stream消息队列的基本语法和使用方式,包括消息的添加、读取、删除、修剪以及消费者组的使用和管理,强调了其在消息持久化和主备复制方面的优势。
334 0
|
分布式计算 负载均衡 算法
zookeeper定义及操作
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
zookeeper定义及操作
Go语言中的异常处理:理解panic与recover
【2月更文挑战第7天】Go语言虽然以简洁和直接错误处理机制而著称,但它也提供了`panic`和`recover`这两个内置函数来处理程序中的异常情况。本文将深入探讨Go语言中的异常处理机制,包括`panic`和`recover`的使用场景、原理以及最佳实践,帮助读者更好地理解如何在Go中处理异常情况。
|
缓存 安全 Android开发
智能终端安全:应用安全技术—移动互联网信息安全解决方案(上)
智能终端安全:应用安全技术—移动互联网信息安全解决方案(上)
355 0
|
算法 计算机视觉
OpenCV中使用加速鲁棒特征检测SURF与图像降噪讲解与实战(附源码)
OpenCV中使用加速鲁棒特征检测SURF与图像降噪讲解与实战(附源码)
221 0