取得系统纳秒级时间或者毫秒级时间,我用java实现了下效果还是不错。纳秒级时间作为种子洗牌的时间最少。
public static void main(String[] args) {
Set<Integer> s = new HashSet<Integer>();
for (int i=0; i<54; ++i){
int num = generateWhihNanoTime();
while (s.contains(num)){
num = generateWhihNanoTime();
}
s.add(num);
System.out.print(num+" ");
}
}
// 纳秒时间
static int generateWhihNanoTime(){
long now = System.nanoTime();
int num = (int)(now%54);
return num;
}
// 毫秒时间
static int generateWhihMillisTime(){
long now = System.currentTimeMillis();
long a = now*(now%100);
int num = (int)(a % 54);
return num;
}