当前位置: 首页 > news >正文

map 中key 是否可以放置的自定义的对象?

在 Java 中,可以将自定义对象作为 Map 的 Key,但必须满足以下条件:


1. 必须正确重写 hashCode()equals() 方法

  • 原因Map(如 HashMap)依赖这两个方法确定键的唯一性和存储位置。
  • 未正确重写的风险
    • 无法正确查找值:即使两个对象逻辑上相等,若 hashCode 不同,会被视为不同的 Key。
    • 重复 Key:若 equals 未正确实现,逻辑相等的对象可能被同时存入 Map,破坏 Key 的唯一性。
示例代码
public class Person {private String name;private int age;public Person(String name, int age) {this.name = name;this.age = age;}@Overridepublic int hashCode() {return Objects.hash(name, age); // 基于所有关键字段生成 hash}@Overridepublic boolean equals(Object obj) {

相关文章:

  • 【嵌入式系统设计师(软考中级)】第一章:计算机系统基础知识(上)
  • linux命令八
  • SparkSQL Join的源码分析
  • python自动化浏览器标签页的切换
  • 大模型——Crawl4AI 中的数据提取策略
  • 【FPGA基础学习】DDS信号发生器设计
  • AI图片生成器
  • AIP-235 批量方法:Delete
  • idea如何使用git
  • Maybe:打造个人财务管理的开源操作系统
  • SpringBoot-基础特性
  • 前端vue3 实现倒计时功能 组件
  • 重返JAVA之路——图书管理系统
  • B2B2C多用户商城平台 的两种创新玩法
  • 华熙生物亮相消博会,这次又带来了什么样的变化?
  • springboot项目添加定时任务,用sftp推送zip包到目标服务器
  • 车载信息安全 --- 密钥管理
  • Anaconda笔记
  • C语言-习题整理(1)
  • 第 2 篇:快速上手 Framer Motion(实操入门)
  • 人民网评:“中国传递爱而不是关税”
  • 凭春晚分会场爆火的无锡,为何请来了上海主流媒体和网络大V
  • 一周文化讲座|读书是通往世界的路
  • 人民日报和音:开启中马关系新的“黄金五十年”
  • 网约车司机要乘客提前200米下车遭殴打,警方介入
  • 陈吉宁龚正深入郊区镇村园区调研乡村振兴并召开现场会,明确这些重点工作