抱歉,标题真的很难命名。让我们看看问题如何发展.....
在Java中,我有一个名为book的类,其中包含以下代码。其中name是书名,hashMap字符串是评论者名称,hashMap Integer是评论者分数。
public class book {
private String name;
private HashMap<String, Integer> results = new HashMap<String, Integer>();
}
然后,我有另一个名为bookRecord的类,其中包含以下代码。
private HashMap<Integer, Book> bookRecord = new HashMap<Integer, Book>();
我编写了一个UI,可让我输入一本新书并将该书保存到bookRecord中。
bookRecord中的Integer是该书的ID。
我写了一个查询来按ID搜索并返回书名。现在,如果有新的评论家和评分,我希望能够更新这本书。
我一直在为每个循环寻找一个正确的键,然后在每个循环中寻找一个合适的键,然后我为自己感到困惑。
有什么建议吗?
最佳答案
您有两种选择:
第一种选择是将results
HashMap公开,并可以实现以下目的:
Book uBook = records.get(BOOK_ID_YOU_WANT_TO_UPDATE);
if (uBook != null) {
uBook.results.put("New critic name", Critic_SCORE);
}
Seconds选项是将
results
保留为私有,但添加一个新方法addCriticScore(String criticName, Integer score)
:// In your class that updates the book
Book uBook = records.get(BOOK_ID_YOU_WANT_TO_UPDATE);
// In the Book class
public void addCriticScore(String criticName, Integer score) {
this.results.put(criticName, score);
}
附注:别忘了将您的课程
book
重命名为Book
。在java
中,类名以大写字母表示关于java - 使用类更新哈希图中的哈希图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47318352/