如何从int数组中随机选择,然后删除所选元素

use*_*885 4 java arrays random for-loop

我试图从一个数组中随机选择打印它,然后将其从数组中删除,以避免两次打印相同的数字.我是一个java新手,所以想知道是否有人可以指出我哪里出错了.

public static void main(String[] args) {
    int[] colm = { 1, 2, 3, 4, 5, 67, 87 };
    Random rand = new Random();

    for (int i = 0; i < 5; i++)
        System.out.println(" " + colm[rand.nextInt(colm.length)]);

}
Run Code Online (Sandbox Code Playgroud)

谢谢

sti*_*ike 5

随机不给出唯一数字的gurranty.你可以做以下事.

public static void main(String[] args) {
    int[] colm = { 1, 2, 3, 4, 5, 67, 87 };
    List l = new ArrayList();
    for(int i: colm)
        l.add(i);

    Collections.shuffle(l);

    for (int i = 0; i < 5; i++)
        System.out.println(l.get(i));

}
Run Code Online (Sandbox Code Playgroud)