我正在使用Java中的游戏引擎,并且一直在努力让屏幕绘图的决策过程花费最少的时间。所以我一直在使用嵌套在HashTables中的很多HashTables。我知道编码练习可能不好但是我真的想知道是否有任何深度的嵌套会让我的程序无法运行?
答案 0 :(得分:2)
不,深度无关紧要(直到内存耗尽,至少)
只需使用HashMap
代替Hashtable
答案 1 :(得分:2)
通常不会,如果您认为哈希表的一般用途是可伸缩性之一:即,无论元素的数量是多少,使得操作总体上具有“恒定”时间。必须为每个操作计算多个哈希码原则上不会破坏此可伸缩性保证。
根据您的实施情况,显然可能还有其他考虑因素,例如占位符对象的空间/数量。
如果考虑后面的考虑类型,那么考虑使用带有组合哈希函数的大型哈希表。
答案 2 :(得分:0)
一般都不好?不。但我还没有看到一个深度嵌套的哈希表有意义的游戏。根据您的描述,您会产生一种印象,即您应该好好看看BSP trees。
无论如何使用一些高级框架可能更有意义,而不是重新发明轮子(非常糟糕)。