2016-10-02 45 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; 
}