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
提交
取消