2016-04-27 2 views
-1

forループプロジェクトを完了できるように、arraylistの値を配列に入れる必要があります。私は10人のarraylistを持つarraylistを持っていて、各配列には1つ以上の整数値があります:Arraylist<ArrayList<Integer>> lists = new ArrayList<>(); 私はforループを使って10個の配列を作成しましたが、今度は10個のarraylistsを1つの配列に入れます複数のArraylistsを配列に変換する

Integer [] second; 

私はarraylistsを配置する順序で[]配列に配置する必要があります。私はプロジェクトを完了するためにこれを行う必要があります。しかし、何らかの理由で私のforループが配列の中に個々のarraylistを置くのに使われても、それらは印刷されません。助言がありますか?ここ は私のforループ配列に配列リストを印刷するのに使用されます。

for(int i=0; i<lists.siz();i++) 
{ 
    second = lists.get(i).toArray(second); 
} 
+0

'。 'toArray(新しい整数[0])'を試してください。 – shmosel

答えて

1
// Create temp list 
List<Integer> secondList = new ArrayList<Integer>(); 
// add all sublist to temp list 
for(ArrayList<Integer> subList : lists) 
{ 
    secondList.addAll(subList); 
} 
// convert temp list to array 
Integer[] second = secondList.toArray(new Integer[secondList.size()]); 
+0

ありがとうございます! –

1

輸入はjava.util.ArrayList;

import org.apache.commons.lang3.RandomUtils;

パブリッククラスArrayListToArray second`が初期化されていない{

public static Integer[] IncreaseArraySizeByOneElement(Integer[] oldArray){ 
    int sizeOfOldArray=oldArray.length; 
    int newSizeOfArray=sizeOfOldArray+1; 
    Integer[] newArray=new Integer[newSizeOfArray]; 
    for(int x=0;x<sizeOfOldArray;x++){ 
     newArray[x]=oldArray[x]; 
    } 
    return newArray; 
} 

public static void main(String[] args) { 

    ArrayList<ArrayList<Integer>> ListOfIntArray = new ArrayList<ArrayList<Integer>>(); 
    for (int x = 0; x < 10; x++) { 
     ArrayList<Integer> ListOfInts = new ArrayList<Integer>(); 
     for (int y = 0; y < 5; y++) { 
      ListOfInts.add(RandomUtils.nextInt(4800, 7000)); 
     } 
     ListOfIntArray.add(ListOfInts); 
    } 

    System.out.println("There are 10 ArrayList containing each ArrayList 5 elements "+ListOfIntArray); 
    System.out.println("Let's put now above ArrayList of ArrayList into a single Integer[]"); 

    Integer[] arrayOfMyInts = null; 

    for (ArrayList<Integer> ListOfInts : ListOfIntArray) { 
     for (int y = 0; y < 5; y++) { 
      if(arrayOfMyInts==null){ 
       arrayOfMyInts = new Integer[0]; 
      } 
      arrayOfMyInts=ArrayListToArray.IncreaseArraySizeByOneElement(arrayOfMyInts); 
      arrayOfMyInts[arrayOfMyInts.length-1]=new Integer(ListOfInts.get(y)); 
     } 
    } 

    System.out.println("Printing all elements Integer[]"); 
    for(int x=0;x<arrayOfMyInts.length;x++) 
    System.out.println(arrayOfMyInts[x]); 
} 

}

+0

上記のコードは、ArrayList型IntegerのarrayListを作成し、それをIntegerの単一配列に格納して出力します。これがあなたに役立つことを願って – ramanuj

関連する問題