如何在 java 中实现哈希表的构造函数

how can I implement the constructor of a hashtable in java

假设我需要自己实现一个哈希表,但我在实现构造函数时遇到了一些问题。例如,如果我需要初始化 List[] buckets,但是当我像下面这样写代码时,计算机只是给出了一个错误的 "buckets[i]=new List()" 信号,有人能告诉我在这种情况下如何完成构造函数吗? 导入 java.util.List;

import java.util.LinkedList;

public class GeneralHashMap extends MyHashMap {

  public List< String>[] buckets;

  public GeneralHashMap() {
    for(int i=0;i<120;i++)
    {
        buckets[i]=new List<String>(); 
    }

    // TODO: IMPLEMENT CONSTRUCTOR

  }


  public GeneralHashMap(int newsize)
  {
    for(int i=0;i<newsize;i++)
    {
        buckets[i]=new List<String>();
    }
  }

  @Override
  protected int hash(String token) {

    // TODO: IMPLEMENT HASHING FUNCTION FOR GENERAL HASHMAP
    return -1;

  }

  @Override
  public void add(String token) {

    // TODO: IMPLEMENT ADD METHOD USING BUCKETS

  }

  @Override
  public void display() {

    // TODO: IMPLEMENT DISPLAY METHOD TO SHOW CONTENTS OF ALL BUCKETS

  }

}

在填充之前正确初始化您的public List< String>[] buckets;

public List< String>[] buckets = new ArrayList< String>[120];

在Java中List只是一个无法实例化的接口。你需要的是一个class实现这样的接口,例如ArrayList。尝试

buckets = new List[120];
for(int i=0;i<120;i++)
{
    buckets[i]=new ArrayList<String>(); 
}