java基础中的容器:
Collection接口
hashCode
实例(马士兵视频源码):
import java.util.*;
public class basicCollectionTest2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Collection c=new HashSet();
c.add("11");
c.add(new Name("f1","wang"));
c.add("zhu");
System.out.println(c);
//remove 删除
c.remove("11");
c.remove(new Name("f1","wang"));
c.remove("zhu");
System.out.println(c);
}
}
class Name {
String firstname,lastname;
//构造函数
public Name(String firstname,String lastname){
this.firstname=firstname;
this.lastname=lastname;
}
//返回
public String getFirstname(){
return firstname;
}
public String getLasttname(){
return lastname;
}
public String toString(){
return lastname+" "+firstname;
}
/*
* 重写equals方法后要同时重写hashCode方法
* 当对象变为索引时,需要hashCode方法
* (non-Javadoc)
* @see java.lang.Object#equals(java.lang.Object)
*/
public boolean equals(Object obj){
if(obj instanceof Name){
Name name=(Name)obj;
return (firstname.equals(name.firstname)&&
lastname.equals(name.lastname));
}
return super.equals(obj);
}
public int hashCode(){
return firstname.hashCode();
}
}