1) return 0;
2)
int result = 0;
if (name != null) result = name.hashCode();
return result + age;
3) return super.hashCode();
现在要把 Worker 类放入 HashSet 中,并希望在 HashSet 中没有重复元素,则下面说法正
确的是:
A. 三种写法都正确
B. 1), 2) 写法正确, 2) 效率更高
C. 2) 写法正确, 1),3) 写法都不正确
7. (Set ,Hash 算法,方法覆盖)代码改错
import java.util.*;
class Worker{
String name;
int age;
double salary;
public Worker(){}
public Worker(String name, int age, double salary){
this.name = name;
this.age = age;
this.salary = salary;
}
int hashCode(){
return name.hashCode() + age + salary;
}
public boolean equals(Worker w){
if (w.name == name && w.salary == salary && w.age == age){
return true;
}else return false;
}
}
public class TestWorker{
public static void main(String args[]){
Set set = new HashSet();
set.add(new Worker( “tom”, 18, 2000));
set.add(new Worker( “tom”, 18, 2000));
set.add(0, new Worker( “jerry ”, 18, 2000));
System.out.println(set.size());
}
}
8. (Set ,Hash 算法)在前面的 Worker 类基础上,为 Worker 类增加相应的方法,使得