【发布时间】:2016-01-28 20:28:45
【问题描述】:
好的,所以我有一个类可以将字典文件读入哈希表,以比较用户输入的单词并返回建议的单词。我的程序实现了一个 HashTable,它使用链表为值创建存储桶。我已经完成了程序,但在开发一种方法来打印最大链长度、表中使用的桶的百分比和平均链长度时遇到了麻烦。
public class DictionaryTable {
public String workingDir = System.getProperty("user.dir");//stores uses working director
public String DICT_FILENAME = "\\src\\dictionary.txt";
public String D_PATH = workingDir + DICT_FILENAME;
private int DICT_SIZE; //determines size of dictionary
final private Bucket[] array;
包含上面的方法是为了了解我的类中使用的私有变量和散列函数。我还提供了我的哈希值以防万一。
private int hash(String key) {
return (key.hashCode() & 0x7fffffff) % DICT_SIZE;
}
【问题讨论】:
-
你为什么不用
HashMap?自己实现这个的原因是什么? -
哦,对不起,这是作业的一部分,所以我实现了自己的表
-
这种东西很难。您可以查看 HashMap 的源代码以获取灵感。
-
我不需要哈希图源代码,程序已经完成并且工作我只是在我的 Dictionary 类中添加方法以返回我在我的问题中列出的方法时遇到了麻烦。
标签: java arrays linked-list hashmap hashtable