/**
 * 活动子系统类,用于管理活动列表和相关操作。
 */
public class ActivitySubSystem {
    ArrayList<Activity> activities = new ArrayList<>();

    /**
     * 添加活动到活动列表中。
     * @param activity 要添加的活动对象
     */
    public void addActivity(Activity activity){
        activities.add(activity);
    }

    /**
     * 根据活动ID从活动列表中移除活动。
     * @param id 要移除的活动ID
     */
    public void removeActivityById(String id)
    {
        activities.removeIf(a -> a.id.equals(id));
    }

    /**
     * 根据活动ID获取活动对象。
     * @param id 要获取的活动ID
     * @return 活动对象,若不存在则返回null
     */
    public Activity getActivityById(String id)
    {
        for (Activity a:activities) {
            if(a.id.equals(id)) return a;
        }
        return null;
    }

    /**
     * 根据日期获取活动列表。
     * @param date 要筛选的日期
     * @return 符合日期条件的活动列表
     */
    public ArrayList<Activity> getActivitiesByDate(Date date) {
        ArrayList<Activity> result = new ArrayList<>();
        for (Activity activity : activities) {
            if (activity.getStartTime().before(date) && activity.getEndTime().after(date)) {
                result.add(activity);
            }
        }
        return result;
    }

    /**
     * 获取所有活动列表。
     * @return 所有活动列表
     */
    public List<Activity> getActivityList()
    {
        return activities;
    }

    /**
     * 检查某个团队参与的活动数量。
     * @param teamId 要检查的团队ID
     * @return 该团队参与的活动数量
     */
    public int checkActivityNumOfTeam(String teamId)
    {
        int count = 0;
        for (Activity activity:activities)
        {
            for(Team team: activity.teams)
            {
                if(team.teamId.equals(teamId)) count++;
            }
        }

        return count;
    }
}
Java活动管理系统 - ActivitySubSystem类详解

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

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