2012-12-12 78 views
2

在此先感謝您的幫助!基本上我有一個數組列表,每行三個單詞用逗號分隔。我想分開逗號上的字符串來創建一個新的數組列表,每行一個字符串。我被卡住了,因爲在我的循環中每次都會覆蓋arraylist,所以我的新數組列表只包含orignal數組列表(array1)的最後一行(以逗號分隔的3個字符串)。我已經在循環之外聲明瞭第二個數組列表,但它每次仍然覆蓋。它可能是一些非常愚蠢的,但這裏是代碼,任何幫助或指針讚賞!..陣列列表內部循環覆蓋

String[] array = new String[array1.size()]; 
List<String> array2 = new ArrayList<String>(); 

for (int i = 0; i < array1.size(); i++) { 
array = ((array1.get(i)).split(",")); 
array2 = Arrays.asList(array1); 
} 

回答

2

簡單地以這種方式你要追加結果添加array2.addAll,而不是數組2 =吐操作

String[] array = new String[array1.size()]; 
    List<String> array2 = new ArrayList<String>(); 

for (int i = 0; i < array1.size(); i++) { 
    array = ((array1.get(i)).split(",")); 
    array2.addAll(Arrays.asList(array1)); 
} 
+0

非常感謝! :) – Caz

0

如果array1包含的文本行就應該是這樣的:

List<String> array1 = ... // your read lines 
List<String> splitted = new LinkedList<String(); 

for(String line : array1) { 
    String[] splittedLine = line.split(","); 
    splitted.addAll(Arrays.asList(splittedLine)); 
} 

基本上,你的問題是你分配了新列表array2而不是添加元素到它。

+0

感謝您的時間和幫助! :) – Caz

0

的問題是有點不清楚,但我的猜測是不是覆蓋列表

array2 = Arrays.asList(array1); 

追加

array2.addAll(Arrays.asList(array1)); 

但是請注意,這給你每行有多個元素,你可以使用列表清單或數組列表(每行一個條目,每個條目都有一個字段列表)。