我一直在深入研究用Java实现的HashMap
。所有值都存储在一个“桶”中,该桶是一个Entry
对象。我期待它是一个集合或我在这里错过了什么?什么类型是HashMap存储桶
0
A
回答
1
该条目是一个集合(一个轻量级的链接列表,严格来说不是java Collection
)。条目可以相互链接。
static class Entry<K,V> implements Map.Entry<K,V> {
final K key;
V value;
Entry<K,V> next;
final int hash;
}
5
没有。由于它不必让用户通过API访问存储桶,因此HashMap
通过在内部滚动自己的非常小的链接列表实现来减少内存使用量并实现更简单的实现。它可能使用LinkedList
,但它不需要双向链表,并且将链接,密钥,值,密钥的哈希代码等打包到一个对象中会更有效。
0
我不知道你在看哪个实现,但在OpenJDK 6 version中,很显然Entry
存储单个值,并且每个Entry
在链表中形成一个节点。
相关问题
- 1. AWS:什么是存储桶名称?
- 2. HashMap存储桶中的条目数
- 3. Java HashMap重复存储桶条目
- 4. java 8 HashMap存储桶中使用哪种树型?
- 5. S3存储桶中的所有小文件是什么?
- 6. 什么类型的数据可以类类型存储?
- 7. D中的存储类是什么?
- 8. 如何在JavaScript中阅读什么类型的存储是'this'?
- 9. 什么是在MySQL中存储布尔值的数据类型?
- 10. 在RDBM中存储多媒体的数据类型是什么?
- 11. 适用于存储ISOYearMonth的Oracle数据类型是什么?
- 12. 在C++中存储对象类型的好方法是什么?
- 13. 如何在Java中存储矢量?什么是数据类型?
- 14. Android中某些文本的存储类型是什么?
- 15. 什么是存储表格数据结构的最佳类型?
- 16. 为什么Hashmap值类型需要double []但不是double?
- 17. 找出在HashMap中使用的是什么类型
- 18. Java HashMap在内部存储在不同桶中
- 19. 什么是“存在”验证类型?
- 20. MongoDB GridFS存储桶?
- 21. 什么是类型和什么是类型构造函数scala
- 22. 与HashMap中存储不同数据类型的数据单键
- 23. 将多个数据类型存储在单个HashMap中
- 24. 存储不同类型的参数在HashMap中
- 25. ElasticSearch:获取存储桶中的存储桶密钥scripted_metric
- 26. 为什么在基类引用中存储派生类型是合法的?
- 27. 为什么AWS Beanstalk服务使用S3存储桶?
- 28. AWS:设置存储桶级策略有什么意义?
- 29. 为什么在LinkedHashMap中迭代通过桶比HashMap快?
- 30. 将文本输出写入S3存储桶的最佳做法是什么?