创建一个学生类有属性 名字年龄学校性别然后创建测试类生成一百个学生对象存入list集合输出名字中只有两个字学校是虹猫年龄大于25小于30并且按照年龄进行升序排序 最后换成set集合 输出用java写
学生类:
public class Student {
private String name;
private int age;
private String school;
private String gender;
public Student(String name, int age, String school, String gender) {
this.name = name;
this.age = age;
this.school = school;
this.gender = gender;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getSchool() {
return school;
}
public String getGender() {
return gender;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", school='" + school + '\'' +
", gender='" + gender + '\'' +
'}';
}
}
测试类:
import java.util.*;
public class Test {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
// 生成一百个学生对象,随机生成属性
Random random = new Random();
String[] names = {"张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十"};
String[] schools = {"虹猫小学", "蓝兔小学", "黄鼠狼小学", "黑猫警长小学", "喜羊羊小学"};
String[] genders = {"男", "女"};
for (int i = 0; i < 100; i++) {
String name = names[random.nextInt(names.length)];
int age = random.nextInt(10) + 20; // 年龄在20~29岁之间
String school = schools[random.nextInt(schools.length)];
String gender = genders[random.nextInt(genders.length)];
students.add(new Student(name, age, school, gender));
}
// 输出名字中只有两个字,学校是虹猫年龄大于25,小于30,并且按照年龄进行升序排序
List<Student> filteredStudents = new ArrayList<>();
for (Student student : students) {
if (student.getName().length() == 2 && student.getSchool().equals("虹猫小学") &&
student.getAge() > 25 && student.getAge() < 30) {
filteredStudents.add(student);
}
}
filteredStudents.sort(Comparator.comparingInt(Student::getAge));
// 转换成set集合输出
Set<Student> filteredStudentsSet = new HashSet<>(filteredStudents);
for (Student student : filteredStudentsSet) {
System.out.println(student);
}
}
}
``
原文地址: https://www.cveoy.top/t/topic/hgz4 著作权归作者所有。请勿转载和采集!