有没有我可以在Java中找到各种数据结构的详细实现信息的源代码(HashMap,TreeSets等)。 例如:什么是用于不同类型的散列函数?它是开放寻址还是其他的东西?类似的东西。 PS:我知道我可以通过源代码。但是,我会离开一些日子:)在java中的数据结构的内部实现?
回答
从Javadoc开始,然后继续来源,如果需要的话!
号的API文档定义了集合类的外部行为,但没有实施细则,这可能是供应商特定的。如果你想知道如何在特定的虚拟机中实现这些类,你别无选择,只能检查源代码。
至少AFAIK,没有Java API的实现,并提供了有关这些特定细节的额外文档。
由于Java是开源的,因此实现本身是最好的选择。
如果您使用Eclipse并配置了源代码,只需按住Ctrl +左键点击所需的数据结构声明即可。 tt将为此开源。
API文档不提供实现细节。
我不知道你是什么级别的细节?
我可以告诉你什么对我来说足够了。我总是从NetBeans获得它。在那里,我可以按住CTRL,点击任何类名,并将我带入其代码。通过这种方式,您可以将文档和代码放在您面前的一个位置,您可以看到它们是如何实现的,以及它们在文档中描述的内容。
希望它有帮助。
编辑:
在HashMap中的行247,这是在HashSet的则在它曾经创造,描述了一个哈希函数也许这就是你想要什么?
/**
* Applies a supplemental hash function to a given hashCode, which
* defends against poor quality hash functions. This is critical
* because HashMap uses power-of-two length hash tables, that
* otherwise encounter collisions for hashCodes that do not differ
* in lower bits. Note: Null keys always map to hash 0, thus index 0.
*/
static int hash(int h) {
// This function ensures that hashCodes that differ only by
// constant multiples at each bit position have a bounded
// number of collisions (approximately 8 at default load factor).
h ^= (h >>> 20)^(h >>> 12);
return h^(h >>> 7)^(h >>> 4);
}
在HashSet的情况下,什么是散列函数
@Kartik Rustagi检查编辑,也许这是足够详细的,我希望。 – Boro 2011-05-26 21:26:58
- 1. 在java中实现数据结构
- 2. Java树数据结构实现
- 3. 在java中实现它们的游戏树和数据结构?
- 4. Java的堆结构实现
- 5. 在数据结构中实现队列
- 6. Redis内部结构 - LRU实现抽样
- 7. Golang - 内部结构如何实现?
- 8. 如何在Java中实现设置数据结构?
- 9. 试图在java中实现trie数据结构
- 10. Java:地图中的内部数据结构
- 11. C++实现的数据结构库?
- 12. R的数据集的内部实现
- 13. 在java中需要内部实现HashTable
- 14. 内部实现数据库的查询
- 15. 在Java中使用的数据结构
- 16. 在C++中实现序列化的数据结构对齐
- 17. 在PHP中实现数据结构的最佳方式?
- 18. 在C++中实现复杂的数据结构
- 19. Java新的关键字内部结构
- 20. 实现树型数据结构
- 21. 数据结构来实现连接
- 22. 实现一个TRIE数据结构
- 23. 的Java HasMap数据结构
- 24. 在Java中创建类似于数据结构的结构
- 25. 的Java内部类(实现单链表)
- 26. 内部方法和数据结构。
- 27. 数据库引擎内部结构
- 28. 内部类中的构造函数(实现接口)
- 29. Java:数据结构内存估计
- 30. Java数据结构
来源*是详细的实施细节。你会期望什么比这更好? – 2011-05-26 16:31:48
你有没有试过wikipedia.org?我听说这是一个很好的资源。 – 2011-05-26 16:34:36
你在寻找什么级别的细节?我能告诉你的唯一的事情就是一天结束时的一切。 – Woot4Moo 2011-05-26 16:35:16