我正在使用 HashMap,其中我使用 ArrayList 作为值。
像这样:
Map<Movie, List<Grades>> gradedMovies = new HashMap();
我正在尝试创建一种方法,我可以使用该方法遍历值以查看键(电影)是否已存在。如果是这样,我想在分配给特定键(电影)的列表中添加一个新值(等级)。像这样的东西:
public void addGrade(Movie movie, Grade grade) {
// stuff here }
最终,我无法打印一张 map ,该 map 将在将电影添加到 map 后显示电影及其评分。
这是如何实现的?还是我的整个方法(使用 map )完全错误?
感谢您的帮助。 (这是作业)
最佳答案
我认为您走在正确的道路上,只需确保您的电影对象实现了 equals
和 hashCode
,这样它就可以作为哈希映射的真正键。
如果你想要 pretty-print ,只需实现 toString 方法。
public void addGrade(Movie movie, Grade grade) {
if (!gradedMovies.containsKey(movie)) {
gradedMovies.put(movie, new ArrayList());
}
gradedMovies.get(movie).add(grade);
}
希望这有帮助,干杯!
关于java - 在 map 中使用列表 (Java),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10318266/