如何在具有特定索引的哈希表中创建链接列表?

蒙门布
public boolean isCollide(String key, String value){
    int index = key.hashCode();
    if (this.key_array[index]==null) return false;
    else return true;
}
public void addValue(String key, String value){
      Hashtable hashtable = new Hashtable(key,value);
      int index = key.hashCode();
      if (isCollide(key,value)) {
          hashtable.key_array[index]=key;
          hashtable.value_array[index]=value;
      }
      else{
          LinkedList<String> linkedList = new LinkedList<>();
          linkedList.add(value); //how to create a linkedlist on a hashtable?
      }
}

我正在从头开始实现Hashtable。我想知道如何在哈希表中创建链接列表?上面的代码几乎是错误的,但我希望它可以说明我的想法。因此,如果发生冲突,那么我想从该冲突索引开始创建一个链表。有人可以给我一些指导吗?谢谢!

ioseb

这是Java HashMap在内部执行的方式:

class Entry<K,V> implements Map.Entry<K,V> {
    final K key;
    V value;
    Entry<K,V> next;
    int hash;

    /**
     * Creates new entry.
     */
    Entry(int h, K k, V v, Entry<K,V> n) {
        value = v;
        next = n;
        key = k;
        hash = h;
    }

    // rest of methods here...
}

入口类维护内部的“ next”属性,用于构建碰撞键的链接列表。

基本上,键和值对在内部存储为Entry类的实例。如果发生冲突,则将新的Entry实例作为下一个节点添加到插槽中的最后一项。伪代码:

table[i].next = newEntry;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Python3中从具有特定索引和列的列表的字典创建Pandas DataFrame?

如何在haskell中具有特定索引的二维列表中添加数字

如何在sqlite3中创建具有从列表中获取的列名的表?

如何在Java中创建哈希表?

如何在Android中创建具有多个列的表?

如何在sqlite中创建具有复合主键的表?

如何在PostgreSQL中查找具有特定列的表

在zsh中,如何测试关联数组(又名哈希表)是否具有特定属性?

如何在C ++中创建链接列表?

如何从 Kotlin 列表列表中的特定索引创建列表?

如何为具有相同索引的iframe提供特定链接?

如何在 Java 中创建具有多种数据类型的嵌套哈希图?

如何在不从哈希表/链接列表中删除值的情况下释放calloc'd指针?

如何在普通Lisp中从具有奇偶对的单个列表创建列表列表

如何在同一表的Codeigniter中创建动态/链接下拉列表

如何在列表中追加列表中特定更改的索引?

如何为在equals()中具有OR的对象创建哈希码?

如何在python中为大型数据创建哈希表?

如何从具有重复条目的筛选列表中删除特定索引?

如何在Powershell哈希表中获得特定值的名称?

如何创建具有特定日期的动态链接

在熊猫中创建具有多级索引的数据透视表

如何在HTML中创建特定的表?

如何在列表列表中查找特定字符的索引?

熊猫如何在Multiindex DataFrame中获取对索引级别具有多个值的行的列表

如何在R中创建具有可变数量的列表的列表

如何在RavenDB中创建具有多个分组的map / reduce索引

Python:如何在行和列中创建具有双索引的 df?

如何在Python中创建具有相应索引条件的布尔矩阵?