使用ListIterator设置整数

时间:2014-10-23 16:03:03

标签: java random arraylist iterator listiterator

我想要完成的任务是为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之间的随机整数。

1 个答案:

答案 0 :(得分:1)

如果我找对你,我现在不行,但试试这个:

更改

// ...
gI.next();
gI.set(rand);
int f = gI.next();
// ...

// ...
Integer f = gI.next();
gI.set(rand);
// ...

如果这不会产生所需的输出,请澄清您的问题。