Java 中的哈希技术2025年8月18日 | 4 分钟阅读 哈希函数是一个键值映射函数。当使用这些哈希方法将两个或多个键映射到同一个值时,就会出现重复值。链式哈希的使用可以防止冲突。每个哈希表单元都应导向一个包含具有相同哈希函数值的条目的链表。 让我们创建一个返回具有“N”个存储桶的哈希表的哈希函数。 要将节点添加到哈希表中,我们需要找到指定键的哈希索引。 哈希函数也可能用于此目的。 插入:转到由上述哈希索引确定的存储桶,并将新节点添加到列表的末尾。 删除:要从哈希表中删除节点,请计算键的哈希索引,移动到由计算出的哈希索引确定的存储桶,在当前存储桶的列表中搜索具有给定键的节点,然后删除它(如果找到)。 Java 中实现哈希的方法1. 基于 HashTable 的方法(哈希的同步实现)HashTableDemo.java 输出 {5=Hello, 3=You are visiting, 2=Javatpoint, 1=website} 这里,上面的 Java 代码演示了 Hashtable 的用法。 2. 基于 HashMap 的方法(非同步的更快哈希实现)HashMapDemo.java 输出 {1=1, 5=1, 6=3, 10=2} 上面的 Java 代码显示了 Hashmap 的用法。这是一种非同步的、更快的哈希方法。 3. 基于 LinkedHashMap 的方法(类似于 HashMap,但保留元素的顺序)LinkedHashMapDemo.java 输出 {One=Robin, Two=Satyam, Three=Kanishk} Getting value for key 'one': Robin Size of the Hashmap: 3 Is Hashmap empty? false Contains key 'two'? true Contains value 'Kanishk? true delete element 'one': Robin {Two=Satyam, Three=Kanishk} 在上面的程序中,LinkedHashMap 与其不同的方法一起使用,例如size()、get()、isEmpty()、containsKey()、containsValue()、remove()。 4. 基于 ConcurrentHashMap 的方法(类似于 HashTable,同步,但由于使用了多个锁而速度更快)DemoforConcurrentHashMap.java 输出 ConcurentHashMap: {201=How, 202=are, 203=you} ConcurentHashMap: {201=How, 202=are, 203=you} ConcurentHashMap: {201=Who, 202=are, 203=you} ConcurentHashMap: {201=Who, 202=are} 上面的 Java 程序显示了 ConcurrentHashMap 的实现及其不同的方法,例如put()、putIfAbsent()、replace()、remove()。 |
如何在 Java 中打印数组 Java 数组是一种数据结构,我们可以在其中存储相同数据类型的元素。数组的元素存储在连续的内存位置中。因此,我们可以存储固定数量的元素。有...
7 分钟阅读
Java 是最受欢迎的编程语言之一。学习完 Java 后,就该用真实的 Java 项目来运用我们的知识了。处理实时 Java 项目可以让我们脱颖而出。在这个竞争激烈的环境中,理论知识是不够的。我们必须...
阅读 12 分钟
? Java 对象缓存为应用程序服务器使用 Java 程序提供内容时,为昂贵或经常使用的 Java 对象提供了缓存。存储的 Java 对象可以包含生成的页面或支持程序中的对象以帮助创建...
阅读 2 分钟
在 C 和 C++ 编程语言中,从一个函数调用另一个函数的过程称为回调。函数的内存地址表示为函数指针。在 C 和 C++ 语言中,通过将函数指针传递给另一个函数来实现回调。与 C 不同...
阅读 4 分钟
矩阵沿其对角线镜像的翻转涉及对其行和列进行翻转以对称地反映元素。对于方阵,位置 (i, j) 的元素与 (j, i) 交换。该操作将矩阵转换为其转置,在各种数学和计算中很有用...
阅读9分钟
C 语言 C 是一种中级、编译型、通用编程语言,它采用自顶向下的方法来开发应用程序。它由 Dennis Ritchie 于 1970 年在贝尔实验室为 Unix 操作系统开发。它非常适合开发固件和可移植应用程序。示例 #include ...
阅读 4 分钟
C++ 支持作用域解析运算符(::),它允许我们解析标识符的歧义调用或引用。与 C++ 不同,Java 不支持作用域解析运算符。Java 使用相同的运算符(::)但名称不同。Java 中的作用域解析运算符...
阅读 3 分钟
? 通过使用字符串字面量。示例:文件:StringPerformance.java public class StringPerformance { public static void main(String[] args) { long startTime = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { String str1 = "India"; String str2= "India"; } long endTime = System.currentTimeMillis(); System.out.println("创建字面量 String 所花费的时间:" + (endTime - startTime)...
阅读1分钟
? Java Timer 类 在 Java 中,Timer 是一个属于 java.util 包的类。它扩展了 Object 类并实现了 Serializable 接口。该类提供了可用于执行与时间相关的活动的构造函数和方法。使用 Timer 类,我们可以……
阅读 2 分钟
最小页数分配问题是算法设计、竞赛编程和编码面试中最常使用的基本优化问题之一。它围绕着将一堆任务(书籍)分配给许多员工(学生)来完成,以使工作量(页数)得到恰当的分配……
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India