【发布时间】:2018-02-24 08:57:02
【问题描述】:
我真的是 Java 新手,我正在尝试使用 Hashmap 来实现一些东西。
以下代码是我首先声明的:
private HashMap<String, TreeMap<Object, Object>> submissions = new HashMap<String, TreeMap<Object, Object>>();;
还有,
public Submission add(String unikey, Date timestamp, Integer grade) {
// check the argument
if(unikey == null || timestamp == null || grade == null) {
throw new IllegalArgumentException("Null argument detected\n");
}
}
这就是我现在正在写的。假设有名为“人”、“数据”和“等级”的项目。有人可以告诉我如何将它们放入嵌套的哈希图中吗?我为另一个名为 MySubmissions 的类中的每个项目编写了 getter 和 setter。
提交是用另一个类编写的接口,包含以下方法:
public String getPerson();
public Date getTime();
public Integer getGrade();
我想要实现的是,例如,
?.add("aaaa1234", df.parse("2016/09/03 09:00:00"), 10);
?.add("aaaa1234", df.parse("2016/09/03 16:00:00"), 20);
?.add("cccc1234", df.parse("2016/09/03 16:00:00"), 30);
?.add("aaaa1234", df.parse("2016/09/03 18:00:00"), 40);
谢谢!
(我真正想要实现的是,我想将数据添加到哈希图中。然后使用另一种称为 getBestGrade 的方法,我想获得列表中评分最高的人,但我只想知道如何存储首先使用 put 和 get 进入 hashmap...)
【问题讨论】:
-
为什么需要这个嵌套的地图地图?
-
什么是
Submission?您到底想实现什么(输入-> 输出)。你使用什么结构,为什么?请完成您的问题。 -
不确定您的意思,但
submissions.get("aaaa1234").put(df.parse("2016/09/03 09:00:00"), 10);可能是一个起点。 -
因为有人告诉我添加或删除比 O(n) 花费时间...
-
@승기유 - 如果您展示具有 O(n) 性能的代码并要求基于
Map的替代方案,这可能会有所帮助。然后我们知道预期的行为。 (或者更好的是,向我们展示输入和预期输出)
标签: java data-structures hashmap