将随机(条形码值)数字映射到集合中的字符串的好算法是什么?

Jim*_*mmy 3 java algorithm barcode

假设我的应用程序具有有限数量的"东西",在我的情况下,它们将是我游戏中的项目但是出于这个问题的目的,我将使用字符串.

说我有5个字符串:

  1. 詹姆士
  2. 戴夫
  3. 约翰
  4. 史蒂夫
  5. 插口

将会有一个列表,但是我将来会增加该列表.

问题:我可以使用什么样的好算法,从随机数(从条形码生成)到上面的一个值?

例如,如果我的值为4523542354254,那么我可以使用什么算法将其映射到Dave?如果我再次使用相同的数字,我需要确保它Dave每次映射到而不是其他东西.

我考虑过的一个选项是使用条形码的最后一位数字并使用0-9它将映射到10个项目,但如果我添加了第11个项目,它不是非常未来的证明.

有什么建议?

mav*_*rik 5

嗯...如果可以将多个值映射到一个值,则可以使用

string name = names[value % number_of_names];
Run Code Online (Sandbox Code Playgroud)