`

hashmap,如果确定只装载100个元素

 
阅读更多

链接:http://www.iteye.com/topic/1134016

java hashmap,如果确定只装载100个元素,new HashMap(?)多少是最佳的,why?

我认为是:new HashMap(128,0.8), 或者new HashMap(256).

 

1,初值为2的次方个,不过其实hashmap的内部也是保证了。

2,大于100个,不想rehash,代价高。

3,默认0.75以上rehash。如果100个元素的hash分布很好,用了100个不同的地方。

分享到:
评论

相关推荐

    HashMap的数据结构

    2. **装载因子**:装载因子是HashMap的一个关键参数,表示已存储元素数量与数组大小的比率。默认装载因子为0.75,当元素数量达到装载因子与数组长度乘积时,HashMap会自动进行扩容。扩容会创建一个新的更大的数组,...

    hashmap 集合

    当一个键值对被添加到HashMap中时,键的哈希码(hashCode)被计算出来,这个哈希码用于确定键值对在内部数组中的位置。如果两个键的哈希码相同,HashMap会使用equals()方法来区分它们,这就是所谓的哈希碰撞。为了...

    HashMap原理.rar

    当插入新元素时,HashMap会计算键的哈希值,然后根据这个哈希值确定元素在table中的位置。 哈希冲突是哈希表中常见的问题。当两个不同的键计算出相同的哈希值时,就会发生冲突。HashMap使用链地址法解决冲突,即在...

    阿里面试官必问21个刁钻的HashMap面试题,这次让你彻底搞懂.pdf

    扩容时创建一个两倍容量的新数组,旧数组的所有元素重新计算哈希值并放入新数组,保持原有的相对顺序。 9. **链表与红黑树的选择** 链表深度过大影响查找效率,而红黑树能保证查找、插入、删除的时间复杂度接近O...

    剖析Java中HashMap数据结构的源码及其性能优化

    装载因子(loadFactor)是一个重要的性能指标,它直接影响了HashMap的性能和空间利用率。装载因子越大,哈希表在达到相同容量前能存储更多的元素,但同时也可能导致更多的哈希冲突,降低查找效率。当HashMap中的元素...

    java HashMap 的工作原理详解

    HashMap 的核心思想是通过键对象的 `hashCode` 方法计算出一个哈希码,进而确定键值对在数组中的存储位置,即桶(bucket)的位置。这种设计允许快速查找、插入和删除键值对,平均时间复杂度为 O(1)。 在HashMap中,...

    数据结构 哈希表 哈希算法

    它通过哈希函数将数据的关键字映射到一个固定大小的数组中,使得在平均情况下,查找、插入和删除操作的时间复杂度可以达到O(1)。这种高效的性能使得哈希表在实际应用中广泛用于数据库索引、缓存系统、字典实现等领域...

    java面试笔试宝典

    - `StringBuffer`:提供了一个可变的字符串对象,它在内部维护了一个字符数组,当需要修改字符串时,可以直接修改数组中的元素,从而避免了创建新的字符串对象。在单线程环境中,如果需要频繁修改字符串,推荐使用`...

    ASD1-Mini-Project---finalVersion

    这意味着如果哈希表的装载因子(已存储元素数量/哈希表容量)过高,性能可能会下降,因为链表中的元素会增多,查找效率降低。 为了理解并实现这个项目,你需要掌握以下Java和哈希表的相关知识: 1. **Java集合框架...

    java 面试题

    `&&`和`||`是短路逻辑运算符,意味着在第一个操作数就能确定结果的情况下,不会计算第二个操作数。`&`和`|`则是按位逻辑运算符,始终计算两个操作数。 这些知识点覆盖了Java编程的多个层面,对于准备Java面试或深入...

    超级有影响力霸气的Java面试题大全文档

    如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。 18、error和exception有什么区别?  error 表示恢复...

    Hash-Table-in-Java:我在 Java 中实现哈希表。 这是皇家理工学院的任务之一

    哈希表是一种高效的数据结构,它使用哈希函数将数据映射到一个固定大小的数组中,以便快速访问、插入和删除元素。在Java中,哈希表最常见的实现是`java.util.HashMap`类,它是Java集合框架的一部分。在这个项目中,...

    2021-2022计算机二级等级考试试题及答案No.3395.docx

    - 除了确定性之外,算法还应具备有穷性、可行性以及有零个或多个输入的特点。错误的选项是**B**. 有零个或多个输出。正确的表述应该是算法至少有一个输出。 ### 13. Java 集合框架 - **A**. LinkedList集合在增删...

    后端开发基础知识整理JAVA、JVM、操作系统、网络、设计模式、mysql、redis、多线程、spring、springboo

    - **SynchronousQueue实现原理**:一个不存储元素的阻塞队列,适用于传递任务。 - **自定义类的应用场景**:当现有类无法满足需求时,可以自定义类来实现特定功能。 - **双亲委派模型**:类加载机制的一部分,确保类...

Global site tag (gtag.js) - Google Analytics