现在已经经历了Java一段时间并且还遇到了另一个问题。 HashMaps或HashTables。
已经完成了基础知识。如何实现哈希表...就像计算哈希值一样。在哈希值(或者可能是哈希值%maxArray)索引存储数据。线性探测和链接冲突。 现在进一步说,如果有人可以请求下面的帮助:
基本示例显示在数组中存储像“Jhon”,“Lisa”,“Sam”等字符串,然后经历碰撞并将数组转换为链接列表以存储名称,这些名称都很好理解和超级。< / p>
答案 0 :(得分:1)
- 但是Hashtables存储Key,Value对。那么它是如何实现的?
醇>
想象一下这样的数据结构:
$1 = gc 'H:\Skype Migrations\file1.txt'
$2 = gc 'H:\Skype Migrations\file2.txt'
$3 = gc 'H:\Skype Migrations\file3.txt'
IF ( ( Compare-Object -ReferenceObject $1 -DifferenceObject $3 -IncludeEqual ).sideindicator -ne "==" )
{ Write-Output "The files are different " }
Else
{ Write-Output "The files are not different" }
- 键值对示例显示“电话号码簿”示例,但它们未显示它们如何存储在数组或链接列表中。它只是Map.put(k,v)和Map.get(k)。链接列表存储“一个数据”和“指针”..所以我们如何将关键字和值存储在链接列表中(图片可能有助于理解)
醇>
检查要点1.
- 哈希表比map.put(“Rocket”,01111111111)更实际的例子。
醇>
你走了:
Node<K, V>[] table;
public static class Node<K, V> {
//voila! Key and Value stored here
private K key;
private V value;
//make it a linked list
private Node<K, V> next;
}