Java中将字符串(Java String
)映射到(正)整数(Java int
)的最简单方法是什么呢?
等于字符串映射到相等的整数,和
不同的字符串映射到不同的整数?
因此,类似hashCode()
但不同的字符串需要产生不同的整数.因此,从某种意义上说,它将是一个没有碰撞可能性的hasCode().
一个明显的解决方案是维护从字符串到整数的映射表,以及一个计数器,以保证为新字符串分配一个新的整数.我只是想知道这个问题通常是如何解决的.将它扩展到除字符串之外的其他对象也很有趣.
看看完美的哈希.