Java 唯一的String 转换成 int 类型?

le_kj 发布于 2013/03/07 15:56
阅读 2K+
收藏 1

     最近项目中有个需求,UUID生成一个唯一的String,利用生成这个String和一个int类型结合生成一个唯一的int。

String  uid = "e788f3d433dd9e3085f7a8c666aeedd6","f38dc061f0939d34ae6b1364eba7c14b"。。。。。; //Stirng  类型有不定的个数

int id = 1,2,3,4,5,6,7,8。。。。。; // int 类型在30以内

利用这些个String和int要生成不重复的int类型!可以实现么?

我想到的是利用hash算法,

int result = hash(uid+"-"+id);

呵呵。但是网上查看资料貌似还是无法实现唯一性。

请大家帮帮忙看看有什么好的办法么。

加载中
0
xoHome
xoHome

加入当前时间呗

0
huan
huan
数学上就不可能,uuid是128位的,怎么可能映射到32位的int上
0
亭舸翁
亭舸翁
没有这样的算法,你想啊,int能表示的数才有多少
0
南湖船老大
南湖船老大
数学上就否定了 肯定有碰撞的
0
俏文安
俏文安
int自增长不就可以了么,用map存储一下对应关系。
0
loyal
loyal
一个int做不到.
0
atrun
atrun
在Redis的key应用中,发现key很长,就使用 MurmurHash把key处理成18~19位的long,再存储这个long,减少一些空间占用。
0
huan
huan
学习一下数学
0
喻红久

不可以做到,好好复习!

返回顶部
顶部