我试图制作一个标记存储程序供我个人使用,但在决定如何存储标记时我发现了问题。我需要的是像这样的东西
主题1
---- 1(学期)
------ MARK1
------ MARK2
------ MARK3
---- 2
------ MARK1
------ MARK2
---- 3
------ MARK1
我正在考虑使用HashMap或本地数据库,但是当同一学期内的某些标记相等并且我需要能够删除或编辑其中一个标记时,问题才开始。
BTW我对java比其他语言更有信心
答案 0 :(得分:1)
给每个标记一个唯一的键。为此使用HashMap
。
HashMap<String, String> marks = new HashMap<>();
marks.put("date_of_mark_given", mark);
以下是如何根据日期确定性地创建唯一键。
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);
这是创建不仅仅是普通String
的密钥的最佳方法,但可以非常轻松地重新创建,而且您永远不必担心冲突。
如果Date
不够独特,只需添加一些其他唯一标识信息。
您还应该将标记变成真正的班级,最好是Enum
。
答案 1 :(得分:-1)
也许MongoDB会对你有用吗?