2013-04-27 49 views
0

我將如何爲此代碼編寫迭代器?我想根據輸入刪除多個條目。用java中的迭代器替換for循環?

public void cancelRegistration(String someName) 
{ 
    for (Name n: ArrayList) 
    { 
     if(n.Name.equals(someName)) 
     { 
      ArrayList.remove(n); 
     } 
    } 
} 
+1

這可能會幫助:HTTP://www.java2s .com/Code/JavaAPI/java.util/ArrayListiterator.htm – squiguy 2013-04-27 21:31:59

+5

你有一個名爲Name的類,它有一個名爲'Name'的String實例變量?你應該真的學習java命名約定。 – 2013-04-27 21:33:57

回答

0

您可以使用Iterator.remove()

假設你有一個名爲NameString場類稱爲Name並假設類cancelRegistration是有一個域名爲List<Name>ArrayList

public void cancelRegistration(String someName) { 
    for (Iterator<Name> iterator = ArrayList.iterator(); iterator.hasNext();) 
     if (iterator.next().Name.equals(someName)) 
      iterator.remove(); 
}