0

可能重复:
如何在 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);
            }
          }
4

1 回答 1

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()]);

希望能帮助到你 :)

于 2012-04-24T09:55:25.230 回答