(5) 最后编写一个测试类TestStudent,创建一个HashSet对象hs,向hs中添加如下5个Student实例对象,输出HashSet,观察是否添加成功。 ( 6 ) 编写比较器ComparatorByAge实现学生按年龄进行比较大小 ( 7 ) 在测试类中创建ArrayList集合对象al,将上面hs集合中的Student对象存入其中 ( 8 ) 在测试类中完成对al集合中的Student对象进行按年龄升序排序 ( 9 ) 在测试类中遍历(迭代)输出al集合中的学生对象到控
时间: 2024-02-22 21:55:22 浏览: 64
HashSet:一个简单JavaScript设置
好的,以下是符合你要求的Java代码:
```java
import java.util.*;
public class TestStudent {
public static void main(String[] args) {
// 创建HashSet对象
Set<Student> hs = new HashSet<>();
// 向hs中添加5个Student实例对象
hs.add(new Student("Tom", 18));
hs.add(new Student("Jerry", 20));
hs.add(new Student("Andy", 19));
hs.add(new Student("Lucy", 18));
hs.add(new Student("Lily", 21));
// 输出HashSet
System.out.println("HashSet中的元素为:" + hs);
// 创建ComparatorByAge实例对象
ComparatorByAge comparatorByAge = new ComparatorByAge();
// 创建ArrayList集合对象
List<Student> al = new ArrayList<>(hs);
// 对al集合中的Student对象进行按年龄升序排序
Collections.sort(al, comparatorByAge);
// 遍历输出al集合中的学生对象到控制台
System.out.println("按年龄升序排序后的结果为:");
for (Student student : al) {
System.out.println(student.toString());
}
}
}
class ComparatorByAge implements Comparator<Student> {
@Override
public int compare(Student o1, Student o2) {
return o1.getAge() - o2.getAge();
}
}
```
其中,我们创建了一个 `TestStudent` 类作为测试类,创建了一个 `HashSet` 对象 `hs`,并向其中添加了5个学生对象。然后创建了一个 `ComparatorByAge` 比较器实例对象,用于按照学生的年龄进行比较大小。接着,我们将 `hs` 中的元素存入 `ArrayList` 集合对象 `al` 中,并对 `al` 中的元素按照年龄升序排序。最后,我们遍历 `al` 集合中的元素,并将它们输出到控制台。
阅读全文