【发布时间】:2015-02-12 01:07:33
【问题描述】:
我目前正在做一个项目,我正在用 HashMaps 替换我的代码中的 ArrayLists,但我遇到了一个问题。在我的代码的这一部分中,我正在从我的书本类中创建一个新的“书”,而在“获取书”部分是我遇到问题的地方。我正在尝试检查(现在)HashMap 书籍,以查看来自 getId() 方法的书籍 ID 是否与书籍对象的 bookID 匹配。我应该如何使用 Book 对象迭代我的 HashMap?
这是我的 HashMap:HashMap<String, String> books = new HashMap<String, String>();
if (users.containsValue(new User(userID, null, 0))
&& books.containsValue(new Book(bookID, null))) {
// get the real user and book
Book b = null;
User u = null;
// get book
for (Book book : books) {
if (book.getId().equalsIgnoreCase(bookID)) {
b = book;
break;
}
}
【问题讨论】:
-
你打算在HashMap中放什么?什么是关键,什么是价值?
-
你确定你在这里正确地代表你的书
HashMap吗?书籍HashMap中包含哪些信息?books似乎不是HashMap的合适名称,Map对象应该用于关系,用于组合的类。 -
你的意图不明确。如果您能更好地解释,我们可以提供帮助。在您的代码中,
books是一个带有字符串键的 hashMap,您正在尝试将字符串键与一个永远不会为真的对象匹配。
标签: java object arraylist hashmap iteration