下面的代码花了5个小时才完成1M,呵呵,这太慢了.
int numbers = 10000000
int count = 0
def data = []
File file = new File("out.txt")
while (count < numbers) {
def number = makeNumber(numbers)
if (!data.contains(number)) {
print count + ':Adding ' + number + '\n'
data << number
count++
}
}
for (i in data) {
print 'Appending ' + i + '\n'
file.append(i + '\n')
}
String makeNumber(numbers) {
def range = "83"
return range + (new Random().nextInt(20000000) + numbers)
}
我目前正在try java.security.SecureRandom
,就像在this request中一样来生成数字,但它对我来说是一个未知的API,所以它的速度很慢.许多其他选项并不能保证独特性或速度.我是独一无二的,我很确定这一点,但速度(请你给我一些 idea 来加快这一点?我在考虑发送到其他线程,但我遇到了同样的问题,不是吗?)