HashMap中的containsKey()/containsValue()方法调用问题
HashMap的逻辑示意图如下:
Key:自定义类Book | Value:Integer |
---|---|
book1 | 10 |
book2 | 15 |
book3 | 20 |
如果此时调用HashMap的containsKey(book1),则会返回false
因为HashMap里面集成了数组与链表,如果想让上述的返回值为true
则要重写Book类里面的equals和hashcode方法
containsValue方法同理
附加注意事项:
HashMap里面不能存储基本的数据类型
遍历此HashMap的方法:
HashMap<Book,Integer> map = new HashMap<Book,Integer>();
for (Book i : temp.keySet()) {
out.println(i+"\t"+map.get(i));
}