我試圖刪除那些基於它們在值列表中的位置的特定項目。 下面的代碼,如複製列表縮小太多如何根據列表中的位置從列表中刪除值?
private ArrayList<String> removeGen(int addLines, int labLines, int venLines, ArrayList<String> values){
ArrayList<String> copy = new ArrayList<>();
copy = (ArrayList<String>) values.clone();
for(int i = 0; i < values.size(); i++) {
if (i > 100 && i < (100 + (addLines * 5) + 1)) {
copy.remove(i);
}
if (i > (100 + (addLines * 5)) + 9 && i < 100 + (addLines * 5) + (labLines * 4) + 10) {
copy.remove(i);
}
if (i > 100 + (addLines * 5) + (labLines * 4) + 21 && i < 100 + (addLines * 5) + (labLines * 4) + (venLines * 4) + 22) {
copy.remove(i);
}
}
return copy;
的問題是一些值從一個區分彼此,所以我也不能使用卸妝(OBJ)拋出一個錯誤。
我該如何返回一個列表,並在上述位置刪除值?
你應該能夠刪除這樣的條目,因爲你是通過索引而不是按值來刪除某些內容的。 – LenglBoy
仍然複製列表的大小減少,因爲它的項目被刪除製作,他們的位置變化都很好雖然檢查了這一點 – Jube