以下是一个简单的 Java 实现,使用了 HashMap 和 ArrayList 来存储用户和他们的汇报状态:

import java.util.ArrayList;
import java.util.HashMap;

public class WorkReportSystem {
    private HashMap<String, Boolean> reportStatus; // 记录每个人的汇报状态,true 表示已汇报,false 表示未汇报
    private ArrayList<String> unreportedUsers; // 记录未汇报的用户

    public WorkReportSystem(ArrayList<String> users) {
        reportStatus = new HashMap<>();
        unreportedUsers = new ArrayList<>(users);
        for (String user : users) {
            reportStatus.put(user, false); // 初始化为未汇报状态
        }
    }

    public void submitReport(String user) {
        if (reportStatus.containsKey(user)) { // 检查用户是否存在
            reportStatus.put(user, true); // 更新汇报状态
            unreportedUsers.remove(user); // 从未汇报列表中移除
        }
    }

    public ArrayList<String> getUnreportedUsers() {
        return unreportedUsers;
    }
}

使用示例:

ArrayList<String> users = new ArrayList<>();
users.add('Alice');
users.add('Bob');
users.add('Charlie');
WorkReportSystem system = new WorkReportSystem(users);
system.submitReport('Alice');
system.submitReport('Charlie');
System.out.println(system.getUnreportedUsers()); // 输出 [Bob]

注意:以上实现只考虑了单线程环境下的使用,如果需要在多线程环境下使用,需要使用线程安全的数据结构或者加锁来保证并发安全。

Java 实现每日工作汇报系统:实时跟踪未汇报人员

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

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