![]() |
1
3
只需使用eclipse和最新的jdk。JAVA核心包源代码附带JDK。打开hashmap类,就可以开始了。一些方法实现可能来自AbstractMap、AbstractCollection等,这是因为正确的OO设计。您可以导航到eclipse中jdk的所有类。 更新:为什么不打开zip文件而使用eclipe(或ide)? IDE可用于在类之间来回移动,通常有助于“读取”代码。注意并不是所有的方法实现都在一个文件中,比如hashmap.java,所以简单的文本编辑器,比如notepad++,或者textpad可能不够。像eclipse/ide a这样成熟的ide可以使它变得更容易。至少对我有用:) |
![]() |
2
2
创建一个实现
|
![]() |
3
1
如果您想要一个快速且内存高效的实现,那么您需要使用一个数组来支持您的映射。使用要索引到数组中的哈希算法,并将对象存储在数组的该插槽中。 有很多小细节你需要注意。何时调整数组大小,如何检测和解决散列冲突等。 我建议让您的类实现java.util.map,因为它可以让您很好地了解哪些方法是必要和有用的。 |
![]() |
4
1
创建自己的哈希映射 http://javaexplorer03.blogspot.com/2015/10/create-own-hashmap.html 1。数据结构需要存储密钥-值对。 创建一个条目类来存储hashmap条目。 变量:键、值和下一个 下一个变量用于避免使用链接(链表)的hashmap冲突。 2。小精灵 方法将新项放入HashMap。 使用哈希(hashcode%size)标识bucket a. 如果桶中不存在元素: 把它当作 新条目 . B. 如果元素已存在: 如果元素重复,则替换旧元素, 否则,找到链中的最后一个元素并将新条目添加到最后一个元素的下一个指针。 三。get()方法: 返回哈希映射中的元素 a.通过计算键的哈希(hashcode%size)来标识元素桶,并使用equals方法返回元素。 |
|
user29759326 · 如何返回递归函数中的最后一个值? 6 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 6 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 6 月前 |
![]() |
rudraraj · java中未声明最终变量 6 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 6 月前 |