import java.util;
class Driver{
public static void main(String[] args) {
ArrayList<String> lstStr = new ArrayList<String>();
lsstStr.add("A");
lsstStr.add("B");
lsstStr.add("C");
for(Iterator<String> it = lstStr.Iterator(); it.hasNext();)
{
str = it.next();
if(str.equals("B")){lstStr.remove(str);}
}
for(Iterator<String> it = lstStr.Iterator(); it.hasNext();)
{
System.out.println(it.next());
}
}
}
這並不是從列表中刪除「B」。當第二次循環運行時,爲什麼Str不等於「B」?爲什麼?無法從ArrayList中刪除
您的代碼目前不會編譯,因此它不會顯示任何內容。請給出一個編譯的例子,首先。你顯然沒有運行你發佈的代碼,所以我們不知道實際運行的代碼是什麼。 –
此代碼將導致併發修改異常,因爲迭代器在從集合中刪除元素後變得不可用。你不要告訴我們這個,所以你可能還沒有試過。 – h22