我需要用我的代码
填充这个数组500000个int数字public class lab_02 {
public static void main(String[] args) {
// 500000 Array
Array array = new Array (500000);
}
}
我不知道我应该怎么做使用循环或递归 谢谢
答案 0 :(得分:4)
1)如果您不需要重复项,请使用Set
Set<Integer> intSet = new HashSet<Integer>();
2)然后你可以添加随机生成的int将它添加到Set
while (intSet.size() < DESIRED_SIZE) {
//generate the randomInteger - DESIRED_SIZE is 500k in your case
intSet.add(randomInteger);
}
答案 1 :(得分:1)
这里棘手的部分是确保独特性。检查物品是否是唯一的可能很昂贵。由于OP没有说明随机数的界限是什么,我假设这个解决方案的最小1和最大500000。
一种方法是按顺序输入数字0到500000然后随机播放数组。
int size = 500000;
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < size; i++) {
list.add(i);
}
Collections.shuffle(list);
for (int i = 0; i < size; i++) {
System.out.println(list.get(i));
}