一般用什么作为HashMap的key?
1 个回答
生活就是这样,别人看到的是结果,而自己撑的是整个过程。迪克一般使用 **`Integer`**、**`String`** 这种不可变类作为 `HashMap` 的 key,其中 **`String`** 最为常见。原因如下: 1. **不可变性**:不可变类的状态在创建后不会改变,因此它们的 `hashCode` 值也不会改变,确保在 `HashMap` 中存储位置不会因 key 的变化而改变。 2. **`String` 的哈希值缓存**:`String` 类在创建时会缓存其 `hashCode`,避免每次调用 `hashCode()` 时重新计算,提高了效率。 3. **正确的 `hashCode()` 和 `equals()` 实现**:像 `Integer` 和 `String` 这些类已经重写了 `hashCode()` 和 `equals()` 方法,确保了良好的哈希分布和正确的对象比较。发布于 2024-09-05 01:23 •IP属地 安徽举报评论收藏
公众号进入网站体验更佳

