【发布时间】:2015-10-16 20:53:56
【问题描述】:
我希望创建一个 ArrayList,它是嵌套列表的字符串表示的精确副本。 所以给定“[4, 9, 12, [1,2,3], [5,6,10], [11,12]] 列表将是 [4,9,12,[1,2,3 ],[5,6,10],[11,12]].
static int position =0;
public static ArrayList stringToList(String input) {
List<ArrayList> parsedList = new ArrayList<>();
while(position < input.length()){
char element = input.charAt(position++);
if(element == '['){
parsedList.add(parseListsToString(input));
}else if(element==']'){
break;
}else if(element==','){}
else{
parsedList.add(element);
}
}
return parsedList;
}
我尝试将 parsedList 声明为:ArrayList(ArrayList)(允许递归)和 ArrayList(Integer)(不允许递归)。而在我提交的当前代码中显然是错误的,因为 parsedList 是一个不正确的返回类型,因为它不是 ArrayList。
我认为我解决问题的方法是正确的,只是我对 ArrayList 的理解不足,这就是我需要帮助的地方。因此,任何建议将不胜感激! 提前致谢!
【问题讨论】:
-
这可能吗?什么类型的
ArrayList可以同时容纳Integer和List? -
类似于 ArrayList
>。很有可能。 -
you are missing ] 在第一个 '12' 之后。在您的测试字符串中
-
我已经尝试了 ArrayList
> 方法,但我无法向其中添加元素,因为它们不是 ArrayList 类型。前 12 个之后不应有 ']',因为它是最外层数组的一部分。 [4,9,12, [nested], [nested], [nested]],除非你认为那是错误的。如果我将它定义为 ArrayList >,我是否需要以某种方式操作元素以添加它? -
我将编辑我的答案
标签: java arrays string list arraylist