我有一个ArrayList
假设list
,它有8个项目AH,现在我想从该list
如何删除存储在int数组中的1,3,5位置项目。
我正在尝试这样做
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
list.add("F");
list.add("G");
list.add("H");
int i[] = {1,3,5};
for (int j = 0; j < i.length; j++) {
list.remove(i[j]);
}
但是在第一个被删除的项目在数组中的位置更改之后,在下一个迭代中,它将删除错误的元素或给出异常。
如何按索引的降序删除它(排序索引,然后首先删除索引最高的元素)?
—
nhahtdh 2012年
您的逻辑有缺陷。当然,您不应该考虑每个项目的位置,而应该考虑项目本身。换句话说,你不想删除位置1,3 5,而是要删除的项目(无论他们在
—
Squonk
List
使用)equals("B")
,equals("D")
和equals("F")
。想一想。
是的,我要删除项目,但是如何匹配项目。实际上,这些项目实际上是在ListView中,并且在选择后,我想从数据库和阵列中删除它,并刷新适配器和列表
—
Krishnakant Dalal 2012年
慢速选项:将元素添加到第二个列表后进行迭代,然后将第二个列表从第一个列表中删除(可选步骤:将第二个列表返回给调用者)
—
SparK