【发布时间】:2019-11-24 01:56:40
【问题描述】:
我面临一个问题,我想将字符串列表从一个应用程序映射到唯一整数但具有指定范围(如 0 到 99999)。
例子:
"Input_str_1" should (for example) mapped to 5423 each time
"Input_str_2" should (for example) mapped to 4829 each time
这里重要的考虑是对于相同的输入字符串,我每次都应该从给定范围内获得相同的数字。我的输入字符串不会超过 1,00,000。所以我指定了这个范围。
我无法获得有关如何解决此问题的起始指针。如果你们中的任何人可以在这个方向上帮助我,将不胜感激。
我的两个应用程序都在 java 中。
【问题讨论】:
-
1) 映射是否需要持久化? 2) 如果不是,一个简单的 Map
可以保存映射,并使用 'theMap.size()' 作为下一个可用数字。 3) Stackoverflow 不是代码编写服务,您需要向我们展示您对解决方案的尝试。 -
映射不需要持久化。实际上,我并不是在寻找可立即使用的代码,这就是为什么我要求提供有关“如何解决这个问题?”的指针
-
要将字符串映射到数字上,请使用哈希函数。
-
试试
theString.hashCode() % 100000 -
好的散列函数可以解决问题