(笔记)HashCode() 和Equals()对比代码之1

package Hash;

public class Demo{
int value;
int id;

public Demo(int _id,int _value){
this.id=_id;
this.value=_value;
}
public String toString(){
return "value="+value;
}

public boolean equals(Object o){
Demo d=(Demo)o;
return (d.value==value)?true:false;
}

public int hashCode(){
return id;
}
}
-----------------
package Hash;

import java.util.HashSet;

public class HashCodeTest {

/**
* @param args
*/
public static void main(String[] args) {
HashSet<Demo> set=new HashSet<Demo>();
for(int i=0;i<=3;i++){
set.add(new Demo(i,i));
}
System.out.println(set);
set.add(new Demo(1,1));
System.out.println(set);
System.out.println(set.contains(new Demo(0,0)));
System.out.println(set.add(new Demo(1,1)));
System.out.println(set.add(new Demo(4,4)));
System.out.println(set);

}

}

-----输出结果-------
[value=2, value=1, value=3, value=0]
[value=2, value=1, value=3, value=0]
true
false
true
[value=2, value=4, value=1, value=3, value=0]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值