二、创建一个People类,包括姓名和年龄2个成员变量。创建3个People对象,将其添加到HashSet中,如果姓名equals相同,则禁止添加。
时间: 2024-03-17 18:39:37 浏览: 63
创建一个叫做People的类
5星 · 资源好评率100%
好的,我来帮您解决这个问题。
首先,我们需要创建一个People类,包括姓名和年龄2个成员变量,并重写equals()方法。代码如下:
```
import java.util.*;
public class People {
private String name;
private int age;
public People(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
// 重写equals方法,只比较姓名是否相同
@Override
public boolean equals(Object obj) {
if (obj instanceof People) {
People p = (People) obj;
return this.name.equals(p.name);
}
return false;
}
@Override
public int hashCode() {
return this.name.hashCode();
}
}
```
然后,我们需要创建3个People对象,并将其添加到HashSet中。代码如下:
```
import java.util.*;
public class TestHashSet {
public static void main(String[] args) {
Set<People> set = new HashSet<>();
People p1 = new People("张三", 20);
People p2 = new People("李四", 22);
People p3 = new People("张三", 25);
// 添加p1、p2、p3到HashSet中
set.add(p1);
set.add(p2);
set.add(p3);
// 遍历HashSet
for (People p : set) {
System.out.println(p.getName() + " " + p.getAge());
}
}
}
```
输出结果如下:
```
李四 22
张三 20
```
可以看到,我们成功地创建了一个People类,并将3个People对象添加到了HashSet中,其中p1和p3的姓名相同,但是由于我们在People类中重写了equals()方法,因此只添加了一个。而且,HashSet还自动去重,只保留了两个不同的元素。
阅读全文