2013-08-16 130 views
1

我想創建一個數組的列表。當我做,我想數組列表看起來像這樣:如何將字符串數組添加到數組列表

[ [Mary] , [Martha,Maggie,Molly] ] 

我想首先定義「瑪麗」的長度爲1的字符串數組來做到這一點,並定義「瑪莎,瑪吉,Molly「作爲長度爲三的字符串數組。然後我嘗試將這些數組添加到數組列表中。但是,唉,數組列表不會接受數組。看看:

String[] s1 = new String[1]; 
String[] s3 = new String[3]; 

ArrayList<String[]> list1 = new ArrayList<String[]>(); 

s1[0]="Mary"; 
s3[0]="Martha"; 
s3[1]="Maggie"; 
s3[2]="Molly"; 

list1.add(s1[0]); 
list1.add(s3[0]); 
list1.add(s3[1]); 
list1.add(s3[2]); 

有關如何將這些數組添加到list1,以形成數組的數組列表的任何想法?

回答

4

您將單個字符串添加到ArrayList,而不是您創建的字符串數組。

嘗試只是在做:

list1.add(s1); 
list1.add(s3); 
+0

感謝。一個快速跟進:當我輸入:System.out.println(「list1」)我看不到我期望的數組列表。相反,我看到某種胡言亂語。任何想法是怎麼回事? – kjm

+0

@kjm它正在打印存儲'list1'的內存地址。 List沒有特殊的'println',你必須自己將它轉換爲String。 –

+1

@kjm在@ dasblinkenlight的回答中查看演示,他使用'for'循環遍歷元素。 – squiguy

0

他們沒有被接受,因爲你明確地指出你的ArrayList將舉辦String陣列,它似乎要傳遞從String數組中的元素,而不是整個陣列。相反,從數組添加元素,嘗試將整個數組:

list1.add(s1)

-1

試試這個。 創建對象的ArrayList,然後確定完整的字符串。

ArrayList<Object> list = new ArrayList<Object>();  
    String s1[] = new String[1]; 
    String s3[] = new String[3]; 

    s1[0]="Mary"; 
    s3[0]="Martha"; 
    s3[1]="Maggie"; 
s3[2]="Molly"; 

list.add(s1); 
-3
ArrayList<String> Jobs = new ArrayList<String>();  


String programmer = "programmer"; 
Jobs.add(programmer); 


for(String AllJobs : Jobs){ 
    System.out.println(AllJobs); 
} 
}//array list //java code 
//try this 
+3

請重新閱讀此問題,因爲您錯過了OP詢問的內容。並且不要寫「僅限代碼」答案。解釋你的代碼以及爲什麼它解決了這個問題。 – Tom

相關問題