如何在 Java 实体类中使用 List

在 Java 开发中,实体类用于表示应用程序中的数据模型,而 List 是一种常见的集合类型,它能存储一组对象。本文将指导你如何在 Java 实体类中使用 List,并会通过示例代码和解释帮助你理解这个过程。

流程概述

我们将会遵循以下步骤来实现这一目标:

步骤 描述
1 创建实体类
2 在实体类中定义 List
3 创建 List 的 getter和setter
4 实例化对象并操作 List

第一步:创建实体类

首先,我们需要定义一个实体类。假设我们要创建一个 School 实体类,该类将包含多个 Student 对象。

代码示例:

// 定义 School 类
public class School {
    private String name; // 学校名称

    // 构造函数
    public School(String name) {
        this.name = name;
    }

    // Getter 用于获取学校名称
    public String getName() {
        return name;
    }
}

这里我们定义了一个简单的 School 类,有一个 name 属性,以及相应的构造函数和 getter 方法。

第二步:在实体类中定义 List

现在,我们将 list 的定义加到 School 类里,以存储多个 Student 对象。

代码示例:

import java.util.ArrayList; // 导入 ArrayList 类
import java.util.List; // 导入 List 接口

public class School {
    private String name; // 学校名称
    private List<Student> students; // 学生列表

    public School(String name) {
        this.name = name;
        this.students = new ArrayList<>(); // 初始化 students 列表
    }

    public String getName() {
        return name;
    }

    // 添加学生的方法
    public void addStudent(Student student) {
        students.add(student); // 将学生添加到列表中
    }
    
    // 获取学生列表的方法
    public List<Student> getStudents() {
        return students; // 返回学生列表
    }
}

在这段代码中,我们添加了一个 List<Student> 类型的成员变量 students,并在构造函数中将其初始化为一个新的 ArrayList<>。同时,我们提供了 addStudent 方法,用来向列表中添加 Student 对象,以及 getStudents 方法,用来获取这个列表。

第三步:创建 List 的 getter 和 setter

我们已经为添加和获取学生列表提供了方法,接下来需要创建 Student 类并在 School 类中完成相应的设置。

代码示例:

// 定义 Student 类
public class Student {
    private String name; // 学生姓名
    private int age; // 学生年龄

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name; // 返回学生姓名
    }

    public int getAge() {
        return age; // 返回学生年龄
    }
}

在这里,我们定义了一个 Student 类,有两个属性:nameage,同时提供了构造函数和 getter 方法。

第四步:实例化对象并操作 List

最后,我们可以在主程序中创建 SchoolStudent 的实例,并演示如何使用 List

代码示例:

public class Main {
    public static void main(String[] args) {
        School school = new School("Greenwood High"); // 创建学校实例
        Student student1 = new Student("Alice", 16); // 创建学生实例
        Student student2 = new Student("Bob", 17);

        // 添加学生到学校
        school.addStudent(student1);
        school.addStudent(student2);

        // 打印学校名称和所有学生的信息
        System.out.println("School Name: " + school.getName());
        for (Student student : school.getStudents()) {
            System.out.println("Student Name: " + student.getName() + ", Age: " + student.getAge());
        }
    }
}

在这个示例中,我们创建了一个 School 实例和两个 Student 实例。然后,我们使用 addStudent 方法将学生添加到学校中,最后通过循环打印出所有学生的信息。

关系图

以下是SchoolStudent 之间关系的 ER 图示例:

erDiagram
    SCHOOL {
        STRING name
    }
    STUDENT {
        STRING name
        INT age
    }
    SCHOOL ||--o{ STUDENT : contains

在上面的关系图中,我们可以看到 School 类和 Student 类之间是一对多的关系,意味着一个 School 可以包含多个 Student

类图

以下是 SchoolStudent 的类图示例:

classDiagram
    class School {
        - String name
        - List<Student> students
        + School(name: String)
        + void addStudent(student: Student)
        + List<Student> getStudents()
    }
    class Student {
        - String name
        - int age
        + Student(name: String, age: int)
        + String getName()
        + int getAge()
    }
    
    School "1" --> "*" Student : contains

在上面的类图中,我们定义了 School 类和 Student 类的属性及方法,同时也展示了它们之间的关系。

总结

通过以上步骤,你已经学习了如何在 Java 实体类中使用 List,以存储和管理多个对象。这是一种非常常见的需求,掌握之后会对你后续的开发工作大有帮助。

在使用 List 时,请牢记它的灵活性和功能,例如可以存储任何类型的对象、动态扩展和遍历等特性。希望你能在实际开发中熟练运用这些知识,不断提高你的编程能力!