Java 学生成绩存储系统

Java 学生成绩存储系统,java,Java,我试图制作一个标记存储程序供我个人使用,但在决定如何存储标记时,我发现了一些问题。我需要的是像这样的东西 主题1 ----1(学期) ------马克1 ------马克2 ------马克3 ----二, ------马克1 ------马克2 ----三, ------马克1 我曾考虑使用HashMap或本地数据库,但当同一学期内的一些分数相等时,问题就开始了,我需要能够删除或编辑其中的一个 顺便说一句,与其他语言相比,我对java更有信心给每个标记一个唯一的键。为此,请使用HashMap

我试图制作一个标记存储程序供我个人使用,但在决定如何存储标记时,我发现了一些问题。我需要的是像这样的东西

主题1

----1(学期)

------马克1

------马克2

------马克3

----二,

------马克1

------马克2

----三,

------马克1

我曾考虑使用HashMap或本地数据库,但当同一学期内的一些分数相等时,问题就开始了,我需要能够删除或编辑其中的一个


顺便说一句,与其他语言相比,我对java更有信心

给每个标记一个唯一的键。为此,请使用
HashMap

HashMap<String, String> marks = new HashMap<>();

marks.put("date_of_mark_given", mark);
HashMap marks=newhashmap();
标记。放置(“标记日期”,标记);
下面是如何根据日期确定地创建唯一键

final SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/ddThh:MM:ss");
final UUID key = UUID.nameUUIDFromBytes(sdf.format(new Date()).getBytes());
final HashMap<UUID, String> marks = new HashMap<>();
marks.put(key, mark);
final SimpleDateFormat sdf=新的SimpleDateFormat(“yyyy/mm/ddThh:mm:ss”);
最终UUID键=UUID.nameUUIDFromBytes(sdf.format(new Date()).getBytes());
最终HashMap标记=新HashMap();
标记。放置(键,标记);
这是创建键的最佳方法,这些键不仅是普通的
字符串
,而且可以很容易地重新创建,而且您不必担心冲突

如果
日期
不够唯一,只需添加一些其他唯一标识信息即可


您还应该将您的标记放入一个真实的类中,最好是和
Enum

也许MongoDB对您有用?

而不是使用日期,也许我将生成一个id。因为同一天可以给出两个或更多标记,但需要回答!