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

现有一个长度为10000的数组a,怎么把a中的数组元素重新打乱顺序(随机打乱)?比如5长度的数组x={1,2,3,4,5}打乱顺序后譬如变成x={2,3,5,1,4}?效... 现有一个长度为10000的数组a, 怎么把a中的数组元素重新打乱顺序(随机打乱)?比如5长度的数组x = { 1, 2, 3, 4, 5} 打乱顺序后譬如变成 x = {2, 3, 5, 1, 4}? 效率要尽量高。谢谢~ 展开
 我来答
ghogel
推荐于2018-01-17 · TA获得超过1388个赞
知道小有建树答主
回答量:1119
采纳率:33%
帮助的人:470万
展开全部
晕.不用那么麻烦.

先转化为list(为什么不一开始就用List呢?)

例:

String[] arr = new String[] {"1", "2"};
List list = Arrays.asList(arr);

直接调用shuffle,就是随机排序

例:Collections.shuffle(list);

直接输出就是你想要的结果
ghogel
2017-12-30 · TA获得超过1388个赞
知道小有建树答主
回答量:1119
采纳率:33%
帮助的人:470万
展开全部
晕.不用那么麻烦.

先转化为list(为什么不一开始就用List呢?)

例:

String[] arr = new String[] {"1", "2"};
List list = Arrays.asList(arr);

直接调用shuffle,就是随机排序

例:Collections.shuffle(list);

直接输出就是你想要的结果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
国侯D
2010-10-08 · TA获得超过118个赞
知道小有建树答主
回答量:182
采纳率:0%
帮助的人:129万
展开全部
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Test {

public static void main(String [] args){
int [] x={1,2,3,4,5};
List list=new ArrayList();
for(int i=0;i<x.length;i++){
list.add(x[i]);
}
Random r=new Random();
for(int i=0;i<x.length;i++){
int j=r.nextInt(list.size());
x[i]=Integer.valueOf(list.get(j).toString());
list.remove(j);
}
for(int i=0;i<x.length;i++){
System.out.println(x[i]);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6a7d11453
2010-10-08 · TA获得超过954个赞
知道小有建树答主
回答量:931
采纳率:50%
帮助的人:708万
展开全部
随机生成10000个整数(可以是6位的), 以这些随机数为键值, 以原有数组的值存到一个新数组, 当然随机出来的键值需要判断重复, 然后按键值顺序输出新数组
我只能给个思路, 没用过Java, 说的不对的地方请见谅
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wenroulang123
2010-10-08 · 超过23用户采纳过TA的回答
知道答主
回答量:113
采纳率:0%
帮助的人:68.3万
展开全部
new一个长度为10000的键值对,数组a做健,值为随机数,用值排序输出.排序的时候重复的按原顺序,实际还是随机
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式