我想要完成的任务是为1,000,000个元素的ArrayList
的每个元素设置一个从0到1000的随机int。我使用简单的for loops
成功完成了这项工作,但现在我希望通过ListIterator
及其set()
方法获得此功能。
static int i = 0;
public static void main(String[] args) {
List rInt = new ArrayList();
for (int i = 0; i <= 1000; i++) {
rInt.add(i);
}
List hMSAL = new ArrayList();
for (int i = 1; i <= 1000000; i++) {
hMSAL.add(i);
}
ListIterator<Integer> gI = hMSAL.listIterator();
while (gI.hasNext()) {
Collections.shuffle(rInt);
int rand = (int) rInt.get(333);
gI.next();
gI.set(rand);
int f = gI.next();
System.out.println(++i + " " + f);
}
问题在于输出。
Output:
1 2
2 4
3 6
4 8
5 10 ...
问:我应该在代码中修改什么,因此对于每个 i 从1到1,000,000,指定的值将是1到1000之间的随机整数。
答案 0 :(得分:1)
如果我找对你,我现在不行,但试试这个:
更改
// ...
gI.next();
gI.set(rand);
int f = gI.next();
// ...
要
// ...
Integer f = gI.next();
gI.set(rand);
// ...
如果这不会产生所需的输出,请澄清您的问题。