大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > Java技巧 > 随机打乱一组数据(算法)

随机打乱一组数据(算法)


[摘要]本文主要是对随机打乱一组数据(算法)的讲解,希望对大家学习随机打乱一组数据(算法)有所帮助。

  最近一个项目的开发中遇到一个需求,有一组数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]);

  }

  }



相关评论