我试图删除那些基于它们在值列表中的位置的特定项目。 下面的代码,如复制列表缩小太多如何根据列表中的位置从列表中删除值?
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