需求求助

yanxiazhiqiu 2006-02-07 02:01:54
怎样得到一个数组的一个随机排列?如我现在有个数组里面的元素为{1,2,3,4,5},现在我要每次得到它里面所有元素的一个随机排列,如第一次我可能得到{2,3,4,1,5},第二次我可能得到{3,2,5,4,1}!谢谢了!
...全文
58 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanxiazhiqiu 2006-02-07
  • 打赏
  • 举报
回复
谢谢楼上!
popy007 2006-02-07
  • 打赏
  • 举报
回复


Vector org = new Vector();

for(int i=0; i<5; ++i)
org.addElement(Integer(i)); // 0,1,2,3,4 => org vector

Random rnd = new Random();

Vector dest = new Vector();
for(i=0; i<5; ++i) {
int r = abs(rnd.nextInt())%(5-i);
dest.addElement(Integer(org.elementAt(r)));
org.remove(r);
}

dest向量得到的就是一个org向量打乱后的序列
JaredJared 2006-02-07
  • 打赏
  • 举报
回复
把数据保存到list中,调用Connections.shuffle(list)就可以了。
chg2008 2006-02-07
  • 打赏
  • 举报
回复
容易啊,生成数据下标的随机序列,再根据这个下标数组来得到原数组的一个随机排列

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧