Java哈希表的构建

哈希表提供了一种高效的对象存储方式,通过建立对象关键属性与存储位置的对应关系,实现快速查找。在哈希表中,查找对象无需与其他元素比较,直接计算哈希值即可定位。本文将探讨哈希表的概念并展示简单的哈希表代码实现。
摘要由CSDN通过智能技术生成

哈希表的概念

数组和向量都可以存储对象,但对象的存储位置是随机的,也就是说对象本身与其存储位置之间没有必然的联系。当要查找一个对象时,只能以某种顺序(如顺序查找或二分查找)与各个元素进行比较,当数组或向量中的元素数量很多时,查找的效率会明显的降低。

一种有效的存储方式,是不与其他元素进行比较,一次存取便能得到所需要的记录。这就需要在对象的存储位置和对象的关键属性(设为 k)之间建立一个特定的对应关系(设为 f),使每个对象与一个唯一的存储位置相对应。在查找时,只要根据待查对象的关键属性 k 计算f(k)的值即可。如果此对象在集合中,则必定在存储位置 f(k)上,因此不需要与集合中的其他元素进行比较。称这种对应关系 f 为哈希(hash)方法,按照这种思想建立的表为哈希表。

哈希表简单代码

package Sujujiego;

import javax.security.auth.login.CredentialException;

public class HashTable {
   
        public class Node{
   
            Node next;
            Object key;
            Object data;
            public Node(Object key,Object data){
   
                this.key=key;
                this.data=data;
            }
        }
        public Node[] Headlist=new Node[1];
        public int size=0;
        public float peakValue=1.7f;
        public static void main(String[] args){
   
            String[] key={
   "a","b","c","d","e","f","g","i"};
            String[] data={
   "1","2","3","4","5","6","7","8"
            };
            HashTable table=new HashTable();
            for (int i=0;i<key.leng
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值