2017-10-07 8 views
1

私は現在、ランダムにArrayListを混ぜています。Java- ArrayListから配列への要素の移動

これは、ランダムに混合された番号1〜48のArrayListを私に与える。今私は4つの配列を持っていて、私は無作為に繰り返しを除いてArrayListの要素を追加したい。

int[] heartsRow = new int[14]; 
int[] diamondsRow = new int[14]; 
int[] spadesRow = new int[14]; 
int[] clubsRow = new int[14]; 

新しい配列が14個の要素を含む理由は、最初の2つの要素が常に同じであるためです。

heartsRow[0] = 1; 
    heartsRow[1] = 0; 
    diamondsRow[0] = 14; 
    diamondsRow[1] = 0; 
    spadesRow[0] = 27; 
    spadesRow[1] =0; 
    clubsRow[0] = 40; 
    clubsRow[1] = 0; 

私は完全にArrayListの非反復要素と各配列を埋めるためにしたいです。

答えて

0

ループの場合は4 、0〜11,12〜23,24〜35,36〜47、リストに追加できます。

for (int i = 0; i < 12; i++) 
    heartsRow[i + 2] = solution.get(i); 

for (int i = 0; i < 12; i++) 
    diamondsRow[i + 2] = solution.get(i + 12); 

for (int i = 0; i < 12; i++) 
    spadesRow[i + 2] = solution.get(i + 24); 

for (int i = 0; i < 12; i++) 
    clubsRow[i + 2] = solution.get(i + 36); 
1

あなたはカウンタが、各ステップ4によって、リスト上 増分を計数ループを使用 、調整オフセットを有するアレイに要素を割り当てることができ:

for (int i = 0; i + 3 < solution.size(); i += 4) { 
    int j = i/4; 
    heartsRow[2 + j] = solution.get(i); 
    diamondsRow[2 + j] = solution.get(i + 1); 
    spadesRow[2 + j] = solution.get(i + 2); 
    clubsRow[2 + j] = solution.get(i + 3); 
} 
関連する問題