什么是散列表:
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫
做散列函数,存放记录的数组叫做散列表。
散列表是查询效率最高的(底层是数组 )
加载因子 :
默认0.75 加载因子=实际保存数量/总容量当散列表中保存元素数量超过加载因子对应的最大数量 时,散列表会进行扩容,每次扩 容为原来的2倍
应用:HashMap保存数据过程

相关面试题
==和equals的区别
== 两侧若为基本数据类型,则进行数值比较;若两侧为引用类型,则比较地址
equals: 是Object提供的方法,在Object类中,其作用等同于==,用于比较对象的地址是否相等;Java强烈建议在子类中重写该方法,使其具有实际的逻辑意义.
问题1:若两个对象调用hashcode方法生成的整数相同,两个对象equals的结果一定为true吗?
不一定
问题2: 两个对象的euqals结果为true,分别调用hashcode方法生成的整数一定相同吗?
一定相同
HashMap,HashTable,ConcurrentHashMap的区别
1. HashMap是非线程安全的,HashTable和ConcurrentHashMap都是线程安全的 2. 非线程安全的散列表的key和value均可以为null;线程安全的散列表的key和value均不可以为

散列表是一种根据关键码值直接访问的数据结构,提供快速查询。加载因子默认为0.75,当元素数量超过特定值时会进行扩容。HashMap在Java中用于保存数据,面试题中常讨论==与equals的区别、HashMap与HashTable、ConcurrentHashMap的差异及其线程安全实现。乐观锁在并发控制中起着重要作用。

630

被折叠的 条评论
为什么被折叠?



