2013-04-27 55 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(); 
}