,HashMap是什么东西?

用户投稿 63 0

关于“hashmap和php”的问题,小编就整理了【4】个相关介绍“hashmap和php”的解答:

HashMap是什么东西?

java中HashMap类是用来存储具有键值对特征的数据。例如现在需要按照员工号来存储大量的员工信息,那么就可以使用HashMap,将员工号作为键,员工对象作为值来存储到HashMap中,其中使用HashMap时需要注意,HashMap是线程不同步的,多线程使用时,需要注意;并且HashMap允许null值作为键和值。

HashMap的内部实现机制,Hash是怎样实现的,什么时候ReHash?

此实现假定哈希函数将元素适当地分布在各桶之间,可为基本操作(get 和 put)提供稳定的性能。迭代 collection 视图所需的时间与 HashMap 实例的“容量”(桶的数量)及其大小(键-值映射关系数)成比例。所以,如果迭代性能很重要,则不要将初始容量设置得太高(或将加载因子设置得太低)。

HashMap 的实例有两个参数影响其性能:初始容量 和加载因子。容量 是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子 是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行 rehash 操作(即重建内部数据结构),从而哈希表将具有大约两倍的桶数。

为什么面试要问hashmap的原理?

面试官问HashMap的原理可能只是在考察你是否有专研学习的精神,因为HashMap是用的最多的,如果你连HashMap的原理都不知道,面试官大概就可以定义你对任何东西都是只会用,但是不知道其原理。现在都会用的人那么多,为什么要选你了?所以这个问题可能是筛选的一个条件。

当然,主要应该还是知道原理才能更好的使用和解决问题,这才是最重要的。

arraylist和hsahset的区别,hashmap和hashtable的区别?

在Java 2以前,一般使用Hashtable来映射键值和元素。为了使用Java集合框架,Java对Hashtable进行了重新设计,但是,为了向后兼容保留了所有的方法。Hashtable实现了Map接口,除了Hashtable具有同步功能之外,它与HashMap的用法是一样的。·在使用时一般是用ArrayList代替Vector,LinkedList代替Stack,HashMap代替HashTable,即使在多线程中需要同步,也是用同步包装类。另外在使用上还有一些小的差异,比如:

HashTable的key和value都不允许为null值,而HashMap的key和value则都是允许null值的。这个其实没有好坏之分,只是Sun为了统一Collection的操作特性而改进的。

HashTable有一个contains(Object value)方法,功能上与containsValue(Object value)一样,但是在实现上花销更大,现在已不推荐使用。而HashMap只有containsValue(Object value)方法。

HashTable使用Enumeration,HashMap使用Iterator。Iterator其实与Enmeration功能上很相似,只是多了删除的功能。用Iterator不过是在名字上变得更为贴切一些。模式的另外一个很重要的功用,就是能够形成一种交流的语言(或者说文化)。有时候,你说Enumeration大家都不明白,说Iterator就都明白了。

到此,以上就是小编对于“hashmap和php”的问题就介绍到这了,希望介绍关于“hashmap和php”的【4】点解答对大家有用。

抱歉,评论功能暂时关闭!