2016-10-02 43 views
1
private static List<Integer> parseStringArrayList(List<String> input) { 
    System.out.println(input.size()); 
    List<Integer> output = new ArrayList<Integer>(input.size()); 
    for (int index = 0; index < output.size(); index++) { 
     output.set(index, Integer.parseInt(input.get(index))); 
    } 
    return output; 
} 

輸出總是具有尺寸的大小爲零。輸出的ArrayList具有零

幫助?

+3

TYPO:更改'指數 Eran

+0

這是使用調試器應該有幫助。 –

+0

@Eran但輸出初始化爲3的大小,所以不應該output.size()== input.size()? – Andre

回答

0

使用大小初始化Arraylist不會設置數組列表的大小,只會修改添加或刪除元素的大小。表示列表在分配內存之前可以擁有的節點數量的容量是您實際定義的內容。

private static List<Integer> parseStringArrayList(List<String> input) { 
System.out.println(input.size()); 
List<Integer> output = new ArrayList<Integer>(input.size()); 
for (int index = 0; index < input.size(); index++) { 
    output.add(Integer.parseInt(input.get(index))); 
} 
return output; 
} 

當你添加和增加你可以使用添加代替,在你的情況下會做同樣的事情。 你要添加的輸入的內容,所以你最好把UR限制input.size()

0

由於Eran提到你做錯了什麼,我想建議其他方式來實現parseStringArray方法。

private static List<Integer> parseStringArrayList(List<String> input) 
{ 
    List<Integer> output = new ArrayList<Integer>(); 
    for (String data : input) { 
     output.add(Integer.parseInt(data)); 
    } 
    return output; 
}