149.创建一个Test8类,要求如下: (1)创建一个HashSet集合,调用add()方法向集合添加2个不同的教师(Teacher)对象。 (2)使用普通for循环进行遍历HashSet当中的2个对象。Java
时间: 2024-03-27 13:40:49 浏览: 83
Java集合框架迭代器Iterator实现原理解析
好的,我来为您解答。
可以按照以下步骤创建Test8类:
1. 创建一个Teacher类,包含以下属性:name(姓名)、id(教师编号)和age(年龄)。并且重写hashCode()和equals()方法。
```
public class Teacher {
private String name;
private int id;
private int age;
public Teacher(String name, int id, int age) {
this.name = name;
this.id = id;
this.age = age;
}
public String getName() {
return name;
}
public int getId() {
return id;
}
public int getAge() {
return age;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + id;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Teacher other = (Teacher) obj;
if (age != other.age)
return false;
if (id != other.id)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
}
```
2. 创建Test8类,并在其中创建一个HashSet集合,使用add()方法向集合添加2个不同的教师(Teacher)对象。
```
import java.util.HashSet;
import java.util.Iterator;
public class Test8 {
public static void main(String[] args) {
HashSet<Teacher> set = new HashSet<Teacher>();
set.add(new Teacher("Tom", 1001, 30));
set.add(new Teacher("Jerry", 1002, 35));
}
}
```
3. 使用普通for循环进行遍历HashSet当中的2个对象。
```
import java.util.HashSet;
import java.util.Iterator;
public class Test8 {
public static void main(String[] args) {
HashSet<Teacher> set = new HashSet<Teacher>();
set.add(new Teacher("Tom", 1001, 30));
set.add(new Teacher("Jerry", 1002, 35));
Iterator<Teacher> it = set.iterator();
while (it.hasNext()) {
Teacher teacher = it.next();
System.out.println("Name: " + teacher.getName() + ", ID: " + teacher.getId() + ", Age: " + teacher.getAge());
}
}
}
```
输出结果为:
```
Name: Jerry, ID: 1002, Age: 35
Name: Tom, ID: 1001, Age: 30
```
注意:在遍历HashSet集合时,可以使用Iterator对象,也可以使用增强for循环进行遍历。这里我们使用了Iterator对象。
阅读全文