Java哈希表和哈希映射

时间:2018-05-03 13:53:21

标签: java hashmap hashtable associative-array

现在已经经历了Java一段时间并且还遇到了另一个问题。 HashMaps或HashTables。

已经完成了基础知识。如何实现哈希表...就像计算哈希值一样。在哈希值(或者可能是哈希值%maxArray)索引存储数据。线性探测和链接冲突。 现在进一步说,如果有人可以请求下面的帮助:

基本示例显示在数组中存储像“Jhon”,“Lisa”,“Sam”等字符串,然后经历碰撞并将数组转换为链接列表以存储名称,这些名称都很好理解和超级。< / p>

  1. 但是Hashtables存储Key,Value对。那么它是如何实现的?
  2. 键值对示例显示“电话号码簿”示例,但它们未显示它们如何存储在数组或链接列表中。它只是Map.put(k,v)和Map.get(k)。链接列表存储“一个数据”和“指针”..所以我们如何将关键字和值存储在链接列表中(图片可能有助于理解)
  3. 哈希表比map.put(“Rocket”,01111111111)更实际的例子。

1 个答案:

答案 0 :(得分:1)

  
      
  1. 但是Hashtables存储Key,Value对。那么它是如何实现的?
  2.   

想象一下这样的数据结构:

$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" }
  
      
  1. 键值对示例显示“电话号码簿”示例,但它们未显示它们如何存储在数组或链接列表中。它只是Map.put(k,v)和Map.get(k)。链接列表存储“一个数据”和“指针”..所以我们如何将关键字和值存储在链接列表中(图片可能有助于理解)
  2.   

检查要点1.

  
      
  1. 哈希表比map.put(“Rocket”,01111111111)更实际的例子。
  2.   

你走了:

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;

}