2014-10-28 93 views
-5

如何實現數組 的ArrayList我的代碼:如何創建一個數組的數組列表

ArrayList<Arrays> s = new ArrayList<Arrays>(); 
    int[] A = new int[n]; 
    for(int i=0;i<n;i++) 
    A[i]=in.nextInt(); 
    s.add(A); //give me an error 
    int x = s.get(0)[1] // getting the first element of an Array A 
+1

請澄清你的問題。 – 2014-10-28 05:44:47

+1

或者只是創建一個'ArrayList'或'ArrayList's ...'ArrayList >'並獲得所有好處而沒有所有麻煩。 – MadProgrammer 2014-10-28 05:45:34

+0

爲什麼你需要一個數組的ArrayList? – 2014-10-28 05:49:55

回答

0

像這樣:

List<int[]> list = new ArrayList<int[]>(); 當你做一個get()操作,記住你會得到一個整數數組而不是一個int。

用法:

public static void main(String[] args) { 
    List<int[]> list = new ArrayList<int[]>(); 
    int[] arr = {1,2,3}; 
    list.add(arr); 
    System.out.println(list.get(0)[1]); 
    } 

另一種方法是使用:Arrays.asList()。這將返回一個幾乎不可變的列表與單個元素是一個數組。

您的問題:Arrays是一個幫助類,它支持陣列數據結構上的操作。所以,基本上,你的假設Arrays可以包含任何數組類型是錯誤的。

+0

你不覺得你需要比這更多的幫助理解它的問題嗎? – 2014-10-28 05:45:33

+0

@KickButtowski - 我還能添加什麼? – TheLostMind 2014-10-28 05:48:48

+0

因爲op想擁有數組的數組列表,所以你可以更多地分解它?大聲笑!!! – 2014-10-28 05:50:49

0

先了解此代碼..你將能夠解決您的問題自己...

private static void arrayListOfString() { 
    //List of String arrays 
    List<String[]> list = new ArrayList<String[]>(); 
    String[] arr1 = {"a", "b", "c"}; 
    String[] arr2 = {"1", "2", "3", "4"}; 
    list.add(arr1); 
    list.add(arr2); 
    //printing list of String arrays in the ArrayList 
    for (String[] strArr : list) { 
     System.out.println(Arrays.toString(strArr)); 
    } 
} 
0

試試這個:

List<int[]> s = new ArrayList<int[]>(); 
    Scanner in = new Scanner(System.in); 
    System.out.print("Enter limit: "); 
    int n = in.nextInt(); 
    int[] A = new int[n]; 
    for(int i=0;i<n;i++) { 
     System.out.print((i+1)+" element: "); 
     A[i]=in.nextInt(); 
    } 
    s.add(A); 
    //s.get(0)[0]; first element 
    //s.get(0)[1]; second element 
    //s.get(0)[2]; third element 
    //so on 
    for (int i=0;i<n;i++) 
     System.out.print(s.get(0)[i]+" "); 
相關問題