java数组联系 打乱数据


你可以使用Java中的Collections类中的shuffle方法来打乱一个数组中的元素。以下是一个示例代码:

import java.util.Arrays;
import java.util.Collections;

public class ShuffleArray {
    public static void main(String[] args) {
        Integer[] numbers = {1, 2, 3, 4, 5};
        System.out.println("Original Array: " + Arrays.toString(numbers));
        Collections.shuffle(Arrays.asList(numbers));
        System.out.println("Shuffled Array: " + Arrays.toString(numbers));
    }
}

在这个例子中,我们首先定义了一个Integer类型的数组,并打印了原始数组。然后我们使用Arrays.asList方法将数组转换为List,并使用Collections类中的shuffle方法打乱了元素的顺序。最后,我们再次打印数组以查看打乱后的结果。

请注意,shuffle方法只能在List类型的集合上使用,因此我们需要先将数组转换为List类型。此外,由于数组是一个引用类型,因此在使用shuffle方法之后,原始数组也会被修改,因此您不需要将其分配给另一个变量。

如果您想打乱一个基本类型数组(如int、double、boolean等),则需要使用Java中的Arrays类中的相应方法。以下是一个示例代码:

import java.util.Arrays;
import java.util.Random;

public class ShuffleIntArray {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};
        System.out.println("Original Array: " + Arrays.toString(numbers));
        shuffleIntArray(numbers);
        System.out.println("Shuffled Array: " + Arrays.toString(numbers));
    }

    public static void shuffleIntArray(int[] array) {
        Random rand = new Random();
        for (int i = array.length - 1; i > 0; i--) {
            int j = rand.nextInt(i + 1);
            int temp = array[i];
            array[i] = array[j];
            array[j] = temp;
        }
    }
}

在这个例子中,我们定义了一个int类型的数组,并打印了原始数组。然后我们使用shuffleIntArray方法来打乱数组元素的顺序。该方法使用Random类生成一个随机数,然后交换数组中的元素来打乱它们的顺序。最后,我们再次打印数组以查看打乱后的结果。

请注意,由于基本类型数组是值类型,因此我们必须通过传递数组的引用来修改数组本身。因此,在shuffleIntArray方法中,我们传递了数组的引用,并在该方法中修改了数组元素的顺序。


原文链接:codingdict.net