ArrayList<ArrayList<String>> b = new ArrayList<ArrayList<String>>();我有一个像上面那样的 ArrayList,其中有一堆 ArrayList 作为元素,有没有办法通过索引删除其中一个?我创建了一个for循环来删除其中一个 ArrayList,并收到一条错误消息,指出存在不兼容的类型。for(int f = 0; f < longDistanceInput.size(); f++){
ArrayList<ArrayList<String>> newLongDisinput = longDistanceInput.remove(f);
}提前致谢。
1 回答
慕森王
TA贡献1777条经验 获得超3个赞
我尝试做这样的事情并收到一条错误消息,指出类型不兼容
for(int f = 0; f<longDistanceInput.size(); f ++){ ArrayList<ArrayList<String>> newLongDisinput = longDistanceInput.remove(f);}
那是因为longDistanceInput.remove(f)
返回 a ArrayList<String>
,而不是 a ArrayList<ArrayList<String>>
。
尝试:
ArrayList<String> newLongDisinput = longDistanceInput.remove(f);
但是:在向前迭代时要小心删除内容:您最终只会删除列表中的一半项目,因为您会跳过紧接着删除的项目之后的项目。
要么反向迭代;或者只是使用longDistanceInput.remove(0)
而不是remove(f)
. 但请注意,从 an 的大索引末尾以外的任何内容中删除ArrayList
都是相当低效的:如果可能的话,在循环结束之前不要从列表中删除内容。
添加回答
举报
0/150
提交
取消