如何使用for循环删除ArrayList中的数据

时间:2013-07-04 12:01:09

标签: java android arraylist

我正在使用for循环删除我的ArrayList数据,但循环只删除列表的最后一个索引。这有什么问题?我觉得这很容易,但我花了一个小时仍然无法解决这个问题。

 for (int i = 0; i < selectedRowFile.size() - 1; i++) {
     imagesFileName.remove(i);
         mylist.remove(i);
     adapter.notifyDataSetChanged();
     Toast.makeText(getApplicationContext(),"" + selectedRowFile.size() , Toast.LENGTH_LONG).show();
}

2 个答案:

答案 0 :(得分:4)

您应该使用Iterator从列表中删除元素。

        Iterator<YourDataType> it = YourList.iterator();
        while (it.hasNext()) 
               it.remove();

使用此方法,您可以使用if-else指定应删除的元素。

This应该给你一些提示,为什么你应该使用迭代器。

答案 1 :(得分:2)

我不知道您为什么使用for循环,但您也可以使用clear清除ArrayList对象。

List myList = new ArrayList<Object>();
myList.clear();

使用for循环清除ArrayList对我来说似乎很可疑。