复制
收藏
提问
简洁
1. List 集合类的应用。 ① 编写一个程序,将 5 个学生的英语成绩存放在一个 ArrayList 集合中, 任选一种方式遍历集合,在屏幕上打印所有学生的信息(学生类的成员变量可 定义为学号,姓名,英语成绩)。写出完整的程序代码。 ② 写出程序的运行结果。 2. Set 集合类的应用。 ① 改写实验项目 1,将 ArrayList 集合中的学生英语成绩单存放到一个 TreeSet 集合中,使得成绩单按降序排序。写出完整的程序代码。 ② 写出程序的运行结果。
3月前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
1. List 集合类的应用
① 编写程序代码
首先,我们需要定义一个学生类(Student),包含学号、姓名和英语成绩作为成员变量。然后,创建一个ArrayList集合来存储学生对象,并遍历这个集合打印所有学生的信息。
import java.util.ArrayList;
import java.util.List;
// 定义学生类
class Student {
String id;
String name;
double englishScore;
public Student(String id, String name, double englishScore) {
this.id = id;
this.name = name;
this.englishScore = englishScore;
}
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", englishScore=" + englishScore +
'}';
}
}
public class ListApplication {
public static void main(String[] args) {
// 创建ArrayList集合
List<Student> students = new ArrayList<>();
// 添加学生信息
students.add(new Student("001", "Alice", 92.5));
students.add(new Student("002", "Bob", 85.0));
students.add(new Student("003", "Charlie", 88.0));
students.add(new Student("004", "David", 90.5));
students.add(new Student("005", "Eva", 95.0));
// 遍历ArrayList集合并打印学生信息
for (Student student : students) {
System.out.println(student);
}
}
}
② 程序的运行结果
程序运行后,将打印出添加到ArrayList中的所有学生的信息,格式如下:
Student{id='001', name='Alice', englishScore=92.5}
Student{id='002', name='Bob', englishScore=85.0}
Student{id='003', name='Charlie', englishScore=88.0}
Student{id='004', name='David', englishScore=90.5}
Student{id='005', name='Eva', englishScore=95.0}
2. Set 集合类的应用
① 编写程序代码
要将ArrayList中的学生英语成绩单存放到TreeSet集合中,并按降序排序,我们需要重写Student类的compareTo方法,以便TreeSet可以比较学生对象。
import java.util.*;
// 定义学生类并重写compareTo方法
class Student implements Comparable<Student> {
String id;
String name;
double englishScore;
public Student(String id, String name, double englishScore) {
this.id = id;
this.name = name;
this.englishScore = englishScore;
}
@Override
public int compareTo(Student other) {
return Double.compare(other.englishScore, this.englishScore); // 降序排序
}
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", englishScore=" + englishScore +
'}';
}
}
public class SetApplication {
public static void main(String[] args) {
// 创建TreeSet集合
Set<Student> students = new TreeSet<>();
// 添加学生信息
students.add(new Student("001", "Alice", 92.5));
students.add(new Student("002", "Bob", 85.0));
students.add(new Student("003", "Charlie", 88.0));
students.add(new Student("004", "David", 90.5));
students.add(new Student("005", "Eva", 95.0));
// 遍历TreeSet集合并打印学生信息
for (Student student : students) {
System.out.println(student);
}
}
}
② 程序的运行结果
程序运行后,将按照学生的英语成绩降序打印出所有学生的信息:
Student{id='005', name='Eva', englishScore=95.0}
Student{id='001', name='Alice', englishScore=92.5}
Student{id='004', name='David', englishScore=90.5}
Student{id='003', name='Charlie', englishScore=88.0}
Student{id='002', name='Bob', englishScore=85.0}
请注意,由于Set集合的特性,它不允许存储重复的元素,因此如果学生成绩有重复,TreeSet将自动去除重复项。在这个
你觉得结果怎么样?