之前在面试遇到这个问题, 我的答案是使用随机函数加上时间戳, 但是极端情况下, 还是有可能会重复的。 网上也看到了一种步长解法。 ``` // 1. 根据步长生成数组 for(int i = 10000000, idx = 0; i < 99999999; i+=89, idx++) { array[idx].value = i; array[idx].sort = random(); } // 2. 根据 sort字段 进行排序 array.sort(); ``` 在此抛砖引玉一下。