java - 如果哈希码大于映射大小,哈希映射如何找到存储桶?
问题描述
我创建了一个 hashmap,所以默认大小为 16。我覆盖了 equals 和 hashcode 方法。我从哈希码方法返回 20。所以现在我们在 map 中有 0-15 桶,但哈希码值为 20,那么哪个桶将用于插入这个键?
解决方案
int[] arr = new int[10];
int i = Math.abs(hash % arr.size); // this always in this array
推荐阅读
- spring-boot - 使用 Spring Boot 注入 MockMvc 时出错
- r - 虚拟代码/R中少于2级的变量的一次热编码
- azure - Azure Face API - 某人可以使用其他人的照片进行身份识别
- php - 无法将行表值变成 PHP 查询中的列字段
- react-native - 如何在反应本机应用程序中连接到 TLS 套接字连接
- osquery - osquery - 删除每个 osqueryi 查询的详细迁移信息
- sharepoint - 在 SSIS 包中使用 OData 源预览 SharePoint 列表时出错
- docker - Docker 卷和主机文件夹的映射
- angular - 使用 Angular7/Bootstrap 将鼠标悬停在表格单元格上时显示附加信息
- python - 创建一个元组,其中第一个元素是混合大小写的单词,第二个元素是完全小写的字符串