如果这是一个重复的问题,我道歉,但我搜索了这个网站以及谷歌和YouTube,以便在没有运气的情况下回答我的问题。我在编程类Data Structures中,我们的第一个任务是编写一个读取CSV文件并将数据存储到链接列表的基本程序。该文件包含筹款人的信息,因此它包含姓名,国家/地区,捐款金额和唯一ID。第一个程序很简单,我在大学课程之外没有编程经验,但这并不太难。然而,本周的作业让我头晕目眩....这里是作业的细节:
“此时,您决定为贡献者数据实现Hash结构以准备搜索。您将从提供的文件中读取贡献者信息;它是逗号分隔(CSV)文件。读取每条记录为ID字段创建一个Hash表.Hash表的限制是它的大小为5,因此你需要能够处理冲突。应该通过使用ID值的链表来解决冲突(使用堆栈实现)。您的设计应包括以下内容:
哈希表,指向仅包含以下信息的链表的结构:
每个Hash Bucket Collision项目将包含以下信息:
ID:整数; //未来需要的标识符密钥
哈希铲斗功能/方法:
输入构造函数://接受名称的字符串和每个贡献者的附加信息(您只需要输入数据的ID部分) 散列函数构造函数:(提示:您只有5个散列桶,因此该函数可以是一个非常简单的计算。) 流行构造函数 推构造函数 打印构造函数://显示哈希桶的内容“
所以......第一个问题,我在Java中找到的哈希表的每个例子都有人在hashFunction方法中传递一个数组,但我们正在处理一个LinkedList。当我尝试将变量“转换”为“链接列表友好”变量时,我得到类型不匹配错误,基本上说我不能在计算中使用Object和Int,或者我无法将Object转换为类型int等等。所以我真的很困惑我应该做些什么才能满足作业的要求......
这是我正在查看的示例代码的链接,这也是我的教师发送给我的参考:http://www.newthinktank.com/2013/03/java-hash-table/我正在专门研究他的“hashFunction2”方法,我会复制代码片段在这里,但它没有正确显示。
所以,我不仅没有完全理解分配细节要求我做什么,我有点理解它的方式没有意义。使用贡献者数据的ID字段创建哈希表....但那么呢?我知道哈希表的关键应该是ID,并且“值”应该是贡献者数据的其余部分吗?我相信总体目标是能够使用此哈希表来搜索特定的贡献者数据,但是,贡献者数据存储在LinkedList中,当我尝试将其传递给哈希表时,我得到错误,因为我'处理对象。对于做什么感到非常困惑,我的导师没有多大帮助,他不断发送给我的例子非常简单,并没有真正遵循任务的流程......任何帮助都会非常感激,这项任务将于周一到期。抱歉这本书,但如果您确实需要更多信息,请告诉我,我会发布我所知道的