如何实现用对象作为Key对HashMap进行查找
来源:互联网 发布:重庆犀牛软件教学 编辑:程序博客网 时间:2024/06/15 08:32
首先,我们看一段代码
class dog{
int i;
dog(int i){
this.i=i;
}
}
}
public class ttt {
}
这个程序运行结果是not found,是因为我们自己写的类默认是继承自Object类,所以,Object对每个对象创建时产生的hashcode是不一样的,也就是每次new dog(1)时产生的两个dog对象是不同的,为解决这个问题,我们必须同时改写hashCode()和equals()两个方法,如下
public int hashCode(){
return i;
}
public boolean equals(Object o){
return (o instanceof dog) && (i==((dog)o).i);
}
这时,结果就是found了
注:比如java.lang.Integer类不会出现此类问题,因为他已经对这两个方法进行重写
0 0
- 如何实现用对象作为Key对HashMap进行查找
- java中hashMap使用一个对象作为key时,对key进行唯一性表达重写equals()方法
- HashMap使用对象作为key
- HashMap:对key进行排序
- 如何把坐标作为hashmap的key
- java HashMap用自定义类作为key
- java HashMap用自定义类作为key
- Java 将自定义的对象作为HashMap的key
- 按拼音对HashMap中的key进行排序
- java对HashMap中的key或者value值进行排序!
- 分别根据key和value对HashMap进行排序
- java对HashMap中的key或者value值进行排序!
- java对HashMap中的key或者value值进行排序
- HashMap根据key值对集合进行排序
- 如何对HashMap中的元素进行排序
- Java用自定义的类作为HashMap的key值
- Java用自定义的类型作为HashMap的key
- 对HashMap对象的键值对内容进行排序
- python参数解析,argparse模块
- JVM GC优化
- ;编写安装中断7ch的中断例程
- win7上安装memcached及客户端调用实例
- Linux文件压缩与解包
- 如何实现用对象作为Key对HashMap进行查找
- 关于VS编译出现“从不是创建控件 control name 的线程访问它”问题的解决方案
- svn commit error( out of date )
- redis命令
- HDU 1870 愚人节的礼物(栈的简单应用)
- Android 开发中使用开源框架 DataDroid
- BZOJ 3714 PA2014 Kuglarz Kruskal
- android XML File配置资源文件使用详解、属性功能详解之Drawable
- 5 string 和 stringbuffer的区别?