在java中创建一个数组,其中值随机排序

时间:2012-04-24 09:51:56

标签: java arrays sorting

  

可能重复:
  How do I randomly fill an array in Java?

下面的最后一行代码按顺序打印数字。如何创建一个值随机排序的数组?

          List<Users> u = new ArrayList<Users>();
          u.add(new Users(1, 5));
          u.add(new Users(2, 4));
          u.add(new Users(3, 8));

          for (Users us1 : u)
          {
            int si1 = us1.getCf();
            int di = us1.getId();
            for (int j = 0; j < si1; j++)
            {
              System.out.println("cf:" + di);
            }
          }

1 个答案:

答案 0 :(得分:3)

只需使用,

Collections.shuffle(yourList)

根据您的要求,我对您的代码进行了一些更改,

List<Users> u = new ArrayList<Users>();  
u.add(new Users(1, 5));  
u.add(new Users(2, 4));  
u.add(new Users(3, 8));  
Collections.shuffle(u);  

List<Integer> output = new ArrayList<Integer>();  
for (Users us1 : u) {  
    int si1 = us1.i;  
    int di = us1.i;  
    for (int j = 0; j < si1; j++) {  
        System.out.println("cf:" + di);  
        output.add(di);  
    }  
}  

Integer[] result = output.toArray(new Integer[output.size()]);

希望有所帮助:)