import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random;

public class Emp { private String name; private int age; private String gender; private String school;

public Emp(String name, int age, String gender, String school) {
    this.name = name;
    this.age = age;
    this.gender = gender;
    this.school = school;
}

public String getName() {
    return name;
}

public int getAge() {
    return age;
}

public String getGender() {
    return gender;
}

public String getSchool() {
    return school;
}

public static void main(String[] args) {
    List<Emp> empList = new ArrayList<>();
    Map<String, Emp> empMap = new HashMap<>();
    Random random = new Random();
    String[] schools = {"虹猫", "农大", "湘南", "中南大学", "软件学院"};
    try (FileWriter fw = new FileWriter("emp.txt")) {
        for (int i = 0; i < 300; i++) {
            String name = (char) (random.nextInt(26) + 'A') + "" + random.nextInt(1000);
            int age = random.nextInt(16) + 15;
            String gender = random.nextBoolean() ? "男" : "女";
            String school = schools[random.nextInt(schools.length)];
            Emp emp = new Emp(name, age, gender, school);
            empList.add(emp);
            empMap.put(name, emp);
            fw.write(emp.getName() + "," + emp.getAge() + "," + emp.getGender() + "," + emp.getSchool() + "\n");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

    System.out.println("所有元素存入map集合中:");
    for (String key : empMap.keySet()) {
        System.out.println(key + ":" + empMap.get(key));
    }

    Collections.sort(empList, (o1, o2) -> o1.getAge() - o2.getAge());
    System.out.println("\n按照年龄排序后的元素:");
    for (Emp emp : empList) {
        System.out.println(emp.getName() + ":" + emp.getAge());
    }

    System.out.println("\n所有中南大学的信息:");
    for (Emp emp : empList) {
        if (emp.getSchool().equals("中南大学")) {
            System.out.println(emp.getName() + ":" + emp.getAge() + ":" + emp.getGender() + ":" + emp.getSchool());
        }
    }

    System.out.println("\n只要年龄小于20岁的,并且不要第一个:");
    for (int i = 1; i < empList.size(); i++) {
        Emp emp = empList.get(i);
        if (emp.getAge() < 20) {
            System.out.println(emp.getName() + ":" + emp.getAge() + ":" + emp.getGender() + ":" + emp.getSchool());
        }
    }

    System.out.println("\n只要名字中只有两个字符的:");
    for (Emp emp : empList) {
        if (emp.getName().length() == 3) {
            System.out.println(emp.getName() + ":" + emp.getAge() + ":" + emp.getGender() + ":" + emp.getSchool());
        }
    }

    System.out.println("\n所有的大学名字:");
    for (String school : schools) {
        System.out.println(school);
    }

    System.out.println("\n所有来自虹猫的学院,按年龄倒序输出:");
    for (int i = empList.size() - 1; i >= 0; i--) {
        Emp emp = empList.get(i);
        if (emp.getSchool().equals("虹猫")) {
            System.out.println(emp.getName() + ":" + emp.getAge() + ":" + emp.getGender() + ":" + emp.getSchool());
        }
    }

    int count = 0;
    for (Emp emp : empList) {
        if (emp.getSchool().equals("湘南")) {
            count++;
        }
    }
    System.out.println("\n湘南学生的人数:" + count);

    Emp maxAgeEmp = null;
    for (Emp emp : empList) {
        if (emp.getSchool().equals("农大")) {
            if (maxAgeEmp == null || emp.getAge() > maxAgeEmp.getAge()) {
                maxAgeEmp = emp;
            }
        }
    }
    System.out.println("\n农大年龄最大的学生:" + maxAgeEmp.getName() + ":" + maxAgeEmp.getAge() + ":" + maxAgeEmp.getGender() + ":" + maxAgeEmp.getSchool());

    Emp minAgeEmp = null;
    for (Emp emp : empList) {
        if (emp.getSchool().equals("农大")) {
            if (minAgeEmp == null || emp.getAge() < minAgeEmp.getAge()) {
                minAgeEmp = emp;
            }
        }
    }
    System.out.println("\n农大年龄最小的学生:" + minAgeEmp.getName() + ":" + minAgeEmp.getAge() + ":" + minAgeEmp.getGender() + ":" + minAgeEmp.getSchool());

    System.out.println("\n学生名字长度为4的所有学生信息:");
    for (Emp emp : empList) {
        if (emp.getName().length() == 4) {
            System.out.println(emp.getName() + ":" + emp.getAge() + ":" + emp.getGender() + ":" + emp.getSchool());
        }
    }
}

@Override
public String toString() {
    return age + ":" + gender + ":" + school;
}
java中创建实体类Emp 包含名字年龄性别毕业学校 然后创建对象 给名字赋值为A-Z字母开头 加上0-1000的随机数 年龄15-30的随机数 相别随机男和女 毕业院校可选为虹猫农大湘南中南大学软件学院 然后插入300条数据存入emptxt文件中 按行写入 以nameagegenderschool存入 接下来读

原文地址: https://www.cveoy.top/t/topic/hiEC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录