java hashcode返回值_Java HashMap返回值未根据我对equals和hashcode的理解进行确认

以下代码示例的输出是:

{1–e = e2,2–e1 = e1}

package com.sid.practice;

import java.util.HashMap;

import java.util.Map;

public class InputOutputPractice

{

public InputOutputPractice()

{

}

public static void main(String[] args)

{

Employee e = new InputOutputPractice().new Employee(1, "e");

Employee e1 = new InputOutputPractice().new Employee(2, "e1");

Employee e2 = new InputOutputPractice().new Employee(1, "e2");

Map m = new HashMap();

m.put(e, "e");

m.put(e1, "e1");

m.put(e2, "e2");

System.out.println(m);

}

class Employee

{

public Employee(int id, String name)

{

this.id=id;

this.name = name;

}

private int id;

private String name;

public String getName()

{

return name;

}

public void setName(String name)

{

this.name = name;

}

public int getId()

{

return id;

}

public void setId(int id)

{

this.id = id;

}

@Override

public boolean equals(Object obj)

{

return ((Employee)obj).getId()==(this.getId());

}

@Override

public int hashCode()

{

return Integer.valueOf(getId()).hashCode();

}

@Override

public String toString()

{

return this.id + "--" + this.name;

}

}

}

我不明白对象如何e2能够覆盖对象中的键e,但不能覆盖值。以我的理解,输出应该是:

{1–e2 = e2,2–e1 = e1}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++输入输出

C语言中&#xff0c;我们通常会使用 scanf 和 printf 来对数据进行输入输出操作。在C语言中&#xff0c;C语言的这一套输入输出库我们仍然能使用&#xff0c;但是 C 又增加了一套新的、更容易使用的输入输出库。 简单的输入输出代码示例&#xff1a; #include<iostream>…

python中的pymysql_(转)Python中操作mysql的pymysql模块详解

原文&#xff1a;https://www.cnblogs.com/wt11/p/6141225.htmlhttps://shockerli.net/post/python3-pymysql/----Python 3 进阶 —— 使用 PyMySQL 操作 MySQL前言pymsql是Python中操作MySQL的模块&#xff0c;其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者…

堆排序java实例_堆排序(示例代码)

前言&#xff1a;网上有很多堆排序的案例&#xff0c;我只想写自己堆排序。一&#xff1a;堆结构即&#xff1a;一个父节点最多只能有两个子节点(可以没有)&#xff0c;如下图图1图2图3 图4二&#xff1a; 数组与堆结构转换假设已知堆数组 int[] a {9,7,6,4,5,1,3,2,} 则相…

C++变量位置

C 在C语言部分做了细节上的改进&#xff0c;变量的定义位置就是其中之一。 请看下面的代码&#xff1a; #include <stdio.h> int main(){int a;scanf("%d", &a);int b;scanf("%d", &b);int c a b;printf("%d\n", c);return 0;…

java source folder作用_java项目把源码放到folder里,不是source folder,这个java代码还能被调用吗?...

看到这个问题&#xff0c;真心觉得初学入门就用IDE真心不是一个好方法。IDE屏蔽了太多基础知识&#xff0c;比如Java是需要编译的&#xff0c;运行的是编译后的class文件。编译命令有编译参数&#xff0c;执行命令有执行命令的参数。还有环境变量&#xff0c;classpath等。由于…

python 生成图片_python生成带有表格的图片

因为工作中需要&#xff0c;需要生成一个带表格的图片例如&#xff1a;直接在html中写一个table标签&#xff0c;然后单独把表格部分保存成图片或者是直接将excel中的内容保存成一个图片刚开始的思路&#xff0c;是直接生成一个带有table标签的html文件&#xff0c;然后将这个文…

C++布尔类型

C语言中&#xff0c;关系运算和逻辑运算的结果有两种&#xff0c;真和假&#xff1a;0 表示假&#xff0c;非 0 表示真。例如&#xff1a; #include <stdio.h> int main(){int a, b, flag;scanf("%d %d", &a, &b);flag a > b; //flag保存关系运算…

wpf xaml突然不能自动补齐代码_Xaml+C#桌面客户端跨平台初体验

(给DotNet加星标&#xff0c;提升.Net技能)转自&#xff1a;大头BigHeadcnblogs.com/Big-Head/p/12614118.html前言随着 .NET 5的到来&#xff0c;微软在 .NET跨平台路上又开始了一个更高的起点。回顾.NET Core近几年的成果&#xff0c;可谓是让.NET重生了一次.ASP .NET Core跨…

java实现日期让随动变_java工具类(四)之实现日期随意跳转

Java实现日期随意跳转项目开发过程中。须要进行订单提醒日期的设置。主要包含设置每月指定的日期或者指定的天数&#xff0c;代码例如以下&#xff1a;public static String DateOperation(String type, Date myDate, int num) {String date null;SimpleDateFormat formatter …

python继承和多态_Python 简明教程 --- 21,Python 继承与多态

程序不是年轻的专利&#xff0c;但是&#xff0c;它属于年轻。目录我们已经知道封装&#xff0c;继承和多态 是面向对象的三大特征&#xff0c;面向对象语言都会提供这些机制。1&#xff0c;封装在这一节介绍类的私有属性和方法的时候&#xff0c;我们已经讲到过封装。封装就是…

C++ new和delete运算符

C语言中&#xff0c;动态分配内存用 malloc() 函数&#xff0c;释放内存用 free() 函数。如下所示&#xff1a; int *p (int*) malloc( sizeof(int) * 10 ); //分配10个int型的内存空间 free(p); //释放内存在C中&#xff0c;这两个函数仍然可以使用&#xff0c;但是C又新增…

计划任务如何使用 java_java – 如何计划任务以定期间隔运行?

使用timer.scheduleAtFixedRatevoid java.util.Timer.scheduleAtFixedRate(TimerTask task, long delay, long period)scheduleAtFixedRatepublic void scheduleAtFixedRate(TimerTask task,long delay,long period)在指定的延迟后开始&#xff0c;为指定的任务调度重复的固定速…

C++ inline内联函数详解

函数是一个可以重复使用的代码块&#xff0c;CPU 会一条一条地挨着执行其中的代码。CPU 在执行主调函数代码时如果遇到了被调函数&#xff0c;主调函数就会暂停&#xff0c;CPU 转而执行被调函数的代码&#xff1b;被调函数执行完毕后再返回到主调函数&#xff0c;主调函数根据…

vc6.0mfc中单选按钮如何分组_按钮系列02-搞定按钮和选框的14个秘诀

UI 界面当中&#xff0c;各种开关、按钮、选框控件是非常常见的组件&#xff0c;它们看起来不复杂&#xff0c;但是在实际使用的时候讲究非常之多&#xff0c;它们不仅关乎体验&#xff0c;而且涉及到一些界面逻辑问题。英文中的 「Toggle」一词&#xff0c;对应的是带有短柄的…

C++函数的默认参数

在C中&#xff0c;定义函数时可以给形参指定一个默认的值&#xff0c;这样调用函数时如果没有给这个形参赋值&#xff08;没有对应的实参&#xff09;&#xff0c;那么就使用这个默认的值。也就是说&#xff0c;调用函数时可以省略有默认值的参数。如果用户指定了参数的值&…

python复制文件夹不阻塞_python学习笔记-(十四)I/O多路复用 阻塞、非阻塞、同步、异步...

1. 概念说明1.1 用户空间与内核空间现在操作系统都是采用虚拟存储器&#xff0c;那么对32位操作系统而言&#xff0c;它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核&#xff0c;独立于普通的应用程序&#xff0c;可以访问受保护的内存空间&#xff0c;也有…

java某个类避免findbug检查_Findbug插件静态java代码扫描工具使用

本文转自http://blog.csdn.net/gaofuqi/article/details/22679609 感谢作者FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件&#xff0c;将字节码与一组缺陷模式进行对比从而发现代码缺陷&#xff0c;完成静态代码分析。FindBu…

Spring 是什么

Spring 是一个主流的 Java Web 开发框架&#xff0c;该框架是一个轻量级的应用框架&#xff0c;具有很高的凝聚力和吸引力。 Spring 是分层的 Java SE/EE full-stack 轻量级开源框架&#xff0c;以 IoC&#xff08;Inverse of Control&#xff0c;控制反转&#xff09;和 AOP&…

4乘4方格走的路线_苏州周边4个冷门自驾游路线景点推荐

1.崇明东滩崇明东滩湿地公园有两大看点&#xff0c;一是看候鸟迁徙&#xff0c;二是看日出和星空。东滩湿地滩涂辽阔&#xff0c;低头是大片的芦苇&#xff0c;抬头是满天斑斓的云彩&#xff0c;顺着木栈道走在公园内&#xff0c;如与大自然融为一体&#xff0c;可360度将美景收…

matlab程序转java_用面向对象的方法将一段JAVA代码转化为matlab

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼public class Variable {/*list of variables this variable is connected to. */ Vector neighbors;/* id of this variable */public int varID;/* id of agent this variable belongs to. */public int agentID;/** The domain …