首页 > 代码库 > 随机打乱一组数据(算法)
随机打乱一组数据(算法)
最近一个项目的开发中遇到一个需求,有一组数1,2,3,4,5,6,7,8,0. 哈哈,如何将它随机打乱生成一个0-8的任意排列呢?比如生成0.6.1.2.3.4.5.7.8等等。
算法思路:
1、使用Arraylist存放这组数
2、随机生成Arraylist的下标值,根据下标值依次取出Arraylist值,直到Arraylist为空
哈哈,是不是很简单。。。。。。。。。。
下面看代码:
private static void genRandomData() { int data[] = { 1, 2, 3, 4, 5, 6, 7, 8, 0 }; int resultdata[] = new int[9]; List<Integer> dataArray = new ArrayList<Integer>(); for (int i = 0; i < data.length; i++) { dataArray.add(data[i]); } int i = 0; while (dataArray.size() > 0) { int index = (int) (Math.random() * dataArray.size()); resultdata[i] = dataArray.get(index); i++; dataArray.remove(index); } for (int m = 0; m < resultdata.length; m++) { System.out.println(resultdata[m]); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。