Java哈希表及其应用

哈希表相关定义

  • 哈希表(hash table):也称散列表,是存储群体对象的集合类结构。是根据**键(Key)**而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。
  • 关键字(key):key可以是对象本身,也可以是对象的一部分(如某个属性),在一个哈希表里每个关键字都必须是唯一的。
  • 值域(value):
  • 哈希码(Hash Code):若要将对象存储到Hashtable上,就需要将关键字Key映射到一个整型数据,成为Key的哈希码。
  • 项(item):Hash Table 的每一项都有两个域:关键字域(key)和值域(value:存储的对象)。key和value可以是任意Object型对象,但是不能为空。
  • 装填因子(Load Factor):

java哈希表的构造方法

哈希表的使用

  • Hashtable(); //默认构造函数,初始容量为101,最大填充因子0.75
  • Hashtable(int capacity);
  • Hashtable(int capacity,float loadFactory);

哈希表的主要表示方法

在这里插入图片描述

Map map = new HashMap()与HashMap map = new HashMap()区别

Map 是接口 不能实例化的 ,只能使用其实现类来实例化,即
Map map=new Map();是错误的
HashMap Map接口的实现类
用接口定义比较灵活以后少改动,是OOP的好习惯。

定义的时候用MAP实例化为HashMap,万一以后要改成Hashtable,产生的改动少。

Map map=new HashMap(); 就是将map实例化成一个hashMap。这样做的好处是调用者不需要知道map具体的实现,map接口与具体实现的映射java帮你做了。打个比方,你是一个头头,手下有几个人:张三,李四等等。你需要手下做一件事情,你关心的是有没有人做,而不关心到底是谁去做,你只需要喊一声:“来人!”具体的是哪个人进来帮你做事无所谓。
如果说这样写: HashMap map = new HashMap();就相当于你指定要张三做事:“来张三!”
就是这样。

关于Map的具体方法和变量, 具体参考官网API
map具体方法描述

原文:https://blog.youkuaiyun.com/Yan_Less/article/details/88819504?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164559730516780274133828%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164559730516780274133828&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-2-88819504.pc_search_result_cache&utm_term=hashmap+%3D+new+hashmap&spm=1018.2226.3001.4187

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值