创建一个People类,包括姓名和年龄2个成员变量。创建3个People对象,将其添加的Hashset中,如果姓名相同则禁止添加,
时间: 2024-03-17 21:40:10 浏览: 26
创建一个叫做People的类
5星 · 资源好评率100%
好的,我来为您解答这个问题。
您可以按照以下步骤创建People类:
1. 创建一个名为People的类。
2. 在该类中添加两个成员变量:姓名和年龄。
3. 编写带有姓名和年龄参数的构造函数以初始化这两个成员变量。
4. 重写 hashCode 和 equals 方法,以便在 HashSet 中进行比较和查找。
以下是示例代码:
```java
import java.util.HashSet;
public class People {
private String name;
private int age;
public People(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public int hashCode() {
return name.hashCode() + age;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final People other = (People) obj;
if ((this.name == null) ? (other.name != null) : !this.name.equals(other.name)) {
return false;
}
if (this.age != other.age) {
return false;
}
return true;
}
public static void main(String[] args) {
HashSet<People> set = new HashSet<People>();
People p1 = new People("张三", 20);
People p2 = new People("李四", 21);
People p3 = new People("张三", 22);
if (set.add(p1)) {
System.out.println(p1.name + " 添加成功");
} else {
System.out.println(p1.name + " 添加失败,已经存在相同姓名的人");
}
if (set.add(p2)) {
System.out.println(p2.name + " 添加成功");
} else {
System.out.println(p2.name + " 添加失败,已经存在相同姓名的人");
}
if (set.add(p3)) {
System.out.println(p3.name + " 添加成功");
} else {
System.out.println(p3.name + " 添加失败,已经存在相同姓名的人");
}
}
}
```
在上面的代码中,我创建了一个名为 People 的类,并在该类中定义了两个成员变量:name 和 age。我还重写了 hashCode 和 equals 方法,以便在 HashSet 中进行比较和查找。
最后,在 main 方法中,我创建了三个 People 对象,并将它们添加到 HashSet 中。如果添加成功,则打印“添加成功”消息,否则打印“添加失败,已经存在相同姓名的人”的消息。
阅读全文