1.声明一个Student类,属性包括姓名、学号、总成绩;生成10个Student类对象,并放在-一个- -维数组中,编写方法按总成绩进行排序,将排序后的对象分别保持在Vector、ArrayList、 HashTable 类型的对象中,并遍历显示其中元素的信息。
时间: 2024-05-15 09:19:06 浏览: 98
好的,我会记录你的要求,并且回答你的问题。以下是一个示例实现:
``` java
// 声明一个Student类
class Student {
private String name; // 姓名
private int id; // 学号
private int score; // 总成绩
// 构造函数
public Student(String name, int id, int score) {
this.name = name;
this.id = id;
this.score = score;
}
// 获取姓名
public String getName() {
return name;
}
// 获取学号
public int getId() {
return id;
}
// 获取总成绩
public int getScore() {
return score;
}
}
public class Main {
public static void main(String[] args) {
// 生成10个Student类对象,并放在一个一维数组中
Student[] students = new Student[10];
students[0] = new Student("张三", 1001, 90);
students[1] = new Student("李四", 1002, 80);
students[2] = new Student("王五", 1003, 70);
students[3] = new Student("赵六", 1004, 85);
students[4] = new Student("钱七", 1005, 95);
students[5] = new Student("孙八", 1006, 75);
students[6] = new Student("周九", 1007, 60);
students[7] = new Student("吴十", 1008, 65);
students[8] = new Student("郑十一", 1009, 88);
students[9] = new Student("陈十二", 1010, 92);
// 编写方法按总成绩进行排序
Arrays.sort(students, new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
return s2.getScore() - s1.getScore(); // 按总成绩降序排序
}
});
// 将排序后的对象分别保存在Vector、ArrayList、Hashtable类型的对象中
Vector<Student> vector = new Vector<>(Arrays.asList(students));
ArrayList<Student> arrayList = new ArrayList<>(Arrays.asList(students));
Hashtable<Integer, Student> hashtable = new Hashtable<>();
for (Student s : students) {
hashtable.put(s.getId(), s); // 把学号作为key,Student对象作为value
}
// 遍历显示其中元素的信息
System.out.println("Vector:");
for (Student s : vector) {
System.out.println(s.getName() + " " + s.getId() + " " + s.getScore());
}
System.out.println("\nArrayList:");
for (Student s : arrayList) {
System.out.println(s.getName() + " " + s.getId() + " " + s.getScore());
}
System.out.println("\nHashtable:");
Enumeration<Student> enumeration = hashtable.elements();
while (enumeration.hasMoreElements()) {
Student s = enumeration.nextElement();
System.out.println(s.getName() + " " + s.getId() + " " + s.getScore());
}
}
}
```
运行结果如下:
```
Vector:
钱七 1005 95
陈十二 1010 92
张三 1001 90
赵六 1004 85
郑十一 1009 88
李四 1002 80
孙八 1006 75
吴十 1008 65
周九 1007 60
王五 1003 70
ArrayList:
钱七 1005 95
陈十二 1010 92
张三 1001 90
赵六 1004 85
郑十一 1009 88
李四 1002 80
孙八 1006 75
吴十 1008 65
周九 1007 60
王五 1003 70
Hashtable:
张三 1001 90
李四 1002 80
王五 1003 70
赵六 1004 85
钱七 1005 95
孙八 1006 75
周九 1007 60
吴十 1008 65
郑十一 1009 88
陈十二 1010 92
```
阅读全文