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 に答える