【java】求助怎么把一个数组元素随机打乱顺序,谢谢~~~

现有一个长度为10000的数组a, 怎么把a中的数组元素重新打乱顺序(随机打乱)?比如5长度的数组x = { 1, 2, 3, 4, 5} 打乱顺序后譬如变成 x = {2, 3, 5, 1, 4}? 效率要尽量高。谢谢~

第1个回答  2019-02-15
用hashset就可以,把数组循环往一个hashset里丢,你再把hashset取出来,你就看到是无序的了。
要巧妙的利用java现成的东西来解决问题!
第2个回答  2019-12-26
用hashset就可以,把数组循环往一个hashset里丢,你再把hashset取出来,你就看到是无序的了。
要巧妙的利用java现成的东西来解决问题!
第3个回答  2010-10-08
楼上正解
Collections本来就是集合的帮助类
做运算 用它再合适不过了··

【java】求助怎么把一个数组元素随机打乱顺序,谢谢~~~
直接调用shuffle,就是随机排序 例:Collections.shuffle(list);直接输出就是你想要的结果

java 随机打乱数组
知道三种方法,方法一最简单.方法一:使用java自带工具的方法shuffle()。shuffle方法在java.util.Collections下,可以查下。例如代码:List list = Arrays.asList(arr);Collections.shuffle(list);方法二:数组下标index,取index+1到size-1的随机数为下标与以index为下标的数交换位置。对以 上操作遍历...

Java打乱数组
void srand(int[] a){ int len=a.length;\/\/如果数组元素不足3,则没必要运算,特别是当数组只有一个元素时,会进入死循环 if(len<3){ return;} Random r=new Random();for(int i=0,n=0,temp=0;i<len;i ){ \/\/随机生成一个位置,两个位置的元素互换 do{ n=r.nextInt(len);}wh...

有数组a[n]用java代码将数组元素顺序颠倒
public static void main(String[] args) { \/\/String a[] = new String[12];String a[] = new String[11];\/\/ 赋值a[n]System.out.print("a[n]元素初始值依次为:");for (int i = 0; i < a.length; i++) { a[i] = String.valueOf(i);System.out.print(a[i] + " ")...

如何随机打乱一个有序序列?
const maxlength=10; {这里的数组中只有10个元素,更多的元素直接改这里的maxlength的值} change=20; {这里只交换20次,如果想要交换的更多,可以把change的值改成想要的次数} var i,j,k:longint;a:array[1..maxlength] of longint;{这里定义成longint是方便你处理更大的数据,下面过程同} proced...

如何将一个数组随机打乱
假定提问者会使用rand获取随机数。定义L为数组元素数量。循环L次,每次获得两个 0~L-1之间的随机数,交换这两个下标对应的值。

JAVA怎么打乱一串数字的顺序?不要重复的。新手。
数组去重有两个选择:一、编写判断语句 如果没有,添入数组,如果有,不添入数组。System.out.println("How many numbers? ");Scanner key = new Scanner(System.in);int n = key.nextInt();int[] all = new int[n];int allNum=0;boolean flag;for (int num = 0; num < n; num++)...

给一个有序的字符串怎么用java语言实现打乱顺序
取一个随机数,这个数就是你目标串的长度n 然后取n个随机数,取模到数组长度,然后合起来就完了...

java 如何用math.random打乱数组里的所有元素
public class Main {\/** * 比如这样的数组{"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A" * } * * 只用math.random不能导入别的包或者用list 不是实际打乱数组里面的元素顺序,是“打印”出全部13个元素,要求随机顺序, 不按照 * "2", ...

怎么把一串数字打乱顺序?
\/** 打乱一下int[] 的顺序 *\/ public static int[] randomArray(int[] src){ List<Integer> cache = new ArrayList<Integer>(src.length);for(int i:src){ cache.add(Integer.valueOf(i));} int[] re = new int[src.length];for(int i=0; i<src.length; i++){ re[i] = get...

相似回答