编辑代码

import java.util.ArrayList;
import java.util.List;

class Task {
    private String name;
    private int duration;
    private List<Task> prerequisites; // 前置任务
    private List<Task> successors;    // 后继任务

    public Task(String name, int duration) {
        this.name = name;
        this.duration = duration;
        this.prerequisites = new ArrayList<>();
        this.successors = new ArrayList<>();
    }

    // 添加前置任务
    public void addPrerequisite(Task prerequisite) {
        prerequisites.add(prerequisite);
        prerequisite.addSuccessor(this);
    }

    // 添加后继任务(通常由addPrerequisite自动处理)
    private void addSuccessor(Task successor) {
        successors.add(successor);
    }

    public String getName() {
        return name;
    }

    public int getDuration() {
        return duration;
    }

    public List<Task> getPrerequisites() {
        return prerequisites;
    }

    public List<Task> getSuccessors() {
        return successors;
    }
}