题目:
- 有Student学生实体 包含姓名 班级名称 考试成绩 三个属性
- 向集合中添加五个完整的学生对象(包含所有的属性值)、遍历集合,输出所有的学生信息
package com.qfstu.javase.Week03.Day01;
import java.util.*;
import java.util.function.Consumer;
/**
* @Author bolin
* @Description TODO
* @Date 2022/3/14 17:57
* @Version 1.0
*
* 有Student学生实体 包含姓名 班级名称 考试成绩 三个属性
* 向集合中添加五个完整的学生对象(包含所有的属性值)、遍历集合,输出所有的学生信息
*/
public class HomeWork01 {
public static void main(String[] args) {
//集合只能存放学生对象
List<Student> students = new ArrayList<>();
//集合中添加元素
students.add(new Student("张三","2021级云计算三班",100));
students.add(new Student("李四","2021级云计算三班",97));
students.add(new Student("王五","2021级云计算三班",85));
students.add(new Student("马六","2021级云计算三班",68));
students.add(new Student("田七","2021级云计算三班",95));
//遍历集合
//方法一:使用迭代器
Iterator it = students.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
//方法二:使用增强for循环
System.out.println("---------------------------------------");
for (Student s: students) {
System.out.println(s);
}
//方法三:使用forEach循环
System.out.println("---------------------------------------");
students.forEach(new Consumer<Student>() {
@Override
public void accept(Student student) {
System.out.println(student);
}
});
//按照成绩从高到低排序
//方法一:使用Comparator
System.out.println("---------------------------------------");
((ArrayList<Student>) students).sort(new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
return o2.getScore() - o1.getScore();
}
});
for (Student s: students) {
System.out.println(s);
}
//方法二:使Student方法实现Iterable接口 并实现排序方法
System.out.println("---------------------------------------");
Collections.sort(students);
for (Student s: students) {
System.out.println(s);
}
}
}
//学生类 包含姓名 班级名称 考试成绩 三个属性
//有无参构造和有参构造 以及Setting and Getting 方法
class Student implements Comparable<Student>{
private String name;
private String className;
private int score;
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", className='" + className + '\'' +
", score=" + score +
'}';
}
public Student() {
}
public Student(String name, String className, int score) {
this.name = name;
this.className = className;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
//按照成绩排序
@Override
public int compareTo(Student o) {
return o.getScore() - this.getScore() ;
}
}