如何在java中创建和显示随机数的arraylist?

1 java random arraylist

我正在尝试生成一个随机数字的arraylist并显示它.我不确定我哪里出错了.我认为我的showArray方法不能正常工作,因为它显示两个随机数,然后重复第二个n-2次.

private static ArrayList<Integer> RandomArray(int n)
    {

        ArrayList<Integer> arrayRandom = new ArrayList<Integer>(n);

        for (int i=0; i<n; i++)
        {
            Random rand = new Random();
            rand.setSeed(System.currentTimeMillis());
            Integer r = rand.nextInt() % 256;
            arrayRandom.add(r);

        }

        return arrayRandom;

    }

private static void ShowArray(ArrayList<Integer> randomArray)
{
    int n = randomArray.size();

    ArrayList<Integer> showArray = new ArrayList<Integer>(n);

    for (int i = 0; i<n; i++)
    {
        int r = randomArray.get(i);
        showArray.add(r);
    }
    System.out.println(showArray);

}

public static void main(String args[])
    {

        ShowArray(RandomArray(5));

    }
Run Code Online (Sandbox Code Playgroud)

因此,例如,这将产生一个输出

[132,152,152,152,152]

任何帮助深表感谢.提前致谢

Jan*_*omä 6

将随机对象从循环中取出,不要每次都设置种子.

ArrayList<Integer> arrayRandom = new ArrayList<Integer>(n);

Random rand = new Random();
rand.setSeed(System.currentTimeMillis());
for (int i=0; i<n; i++)
{
    Integer r = rand.nextInt() % 256;
    arrayRandom.add(r);
}
Run Code Online (Sandbox Code Playgroud)

这应该更好.