最新 最热

Java HashMap 在获得 Key 的 Hash 值的时候用的是什么算法

Java 在 HashMap Key 的 Hash 值的时候用的的是自己 Object 中的 hashCode() 算法。

2022-12-01
1

Java Hash 碰撞

散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。...

2022-12-01
1

Java HashMap 的扩容因子为什么是 0.75

假设加载因子是0.5,HashMap初始化容量是16,当HashMap中有16 * 0.5=8个元素时,HashMap就会进行扩容操作。

2022-12-01
1

HashMap 的初始值和最大值和扩容因子

HashMap 最大值是1 << 30。<< 这个是 Java 使用的移位操作符,运行的结果为 2^30,这个在源码的注释中已经明确说明。

2022-12-01
1

hashmap 的重新散列和装载因子

HashMap 的装载因子是 0.75,用人话说就是当 HashMap 的容量达到定义容量的 75% 的时候,HashMap 会进行扩容,当 HashMap 进行扩容的时候就会重新散列(rehashing)。...

2022-11-30
1

java8 集合 多字段 分组 统计个数

public class User {     private Integer id;

2022-11-30
1

【Java实现】向现有Map键追加值而非覆盖

使用this.put(“String”, “String”)方法添加一个键值对。但是,它会覆盖现有值,而我想使用同一个键存储和配对多个值。

2022-11-30
1

设计模式实战之享元模式(Flyweight Pattern)

主要用于减少创建对象的数量,以减少内存占用和提高性能。 属于结构型模式,提供了减少对象数量从而改善应用所需的对象结构的方式。

2022-11-30
1

Java 集合源码解析 - ConcurrentHashMap(JDK7)

HashMap在并发执行put会引起死循环,是因为多线程会导致HashMap的Entry链表成环,一旦成环,Entry的next节点永远不为空,产生死循环

2022-11-30
1