背景
对于课堂,我制作了一个线性链接哈希表。它存储一个链表数组,每当调用 get 或 put 时,键都会被散列并以数组大小取模。然后在生成的链表(我也实现了)上调用 get 或 put。
我有一个ST
(符号表)界面。它很像Map
,但一些Map
必需的操作对我来说太混乱了,无法实现。实现这个接口,我实现了链表、红黑树、线性探测哈希表和线性链接哈希表。
我想做一个类似于接受任意委托符号表类型的线性链接哈希表的东西。例如,使用红黑树类型对其进行初始化将创建一个红黑树表,而 get 和 put 函数将委托给这些红黑树。
我认识到我的实现几乎肯定比库提供的慢,而且我最好在实际代码中使用它们。我只是在尝试和学习。
问题
向我的哈希表提供类型的最佳方法是什么,以便哈希表将包含该类型的表,并且调用将委托给这些符号表?
我不能使用泛型,因为我无法初始化它们,我需要在构造和重新调整大小时进行初始化。
我考虑过提供一个所需类型的空白符号表来启动,然后使用该copy
方法,但似乎应该有更好的方法。在那儿?