2013-04-07 83 views
0

我有這兩種方法即時查找客戶。我如何才能刪除剛從列表中找到的客戶? I'm使用ArrayList的 我的繼承人兩種方法:從ArrayList中刪除「node」

public User findById(int id) 
{ 
    for (User u : list) 
    { 
     if (u.getCustomerID() == id) 
     { 
      return u; 
     } 
    } 
    return null; // or empty User 
} 

而且

public void findByID() 
{ 
    int customer = Integer.parseInt(findCustomerField.getText()); 

    if(customer != 0) 
    { 
     User user = list.findById(customer); 
     outputText.setText(user.toString()); 
    } 
} 

回答

0

如何刪除客戶從來就只是從列表中發現了什麼?

做法很簡單,只需調用remove方法:

list.remove(user); 

不過,這需要經過列表中再次找到該條目。

如果你想刪除按ID的方法,你可以做到這一點的迭代器:

public bool removeById(int userId) { 
    for (Iterator<User> iterator = list.iterator(); iterator.hasNext();) { 
     if (iterator.next().getCustomerID() == id) { 
      iterator.remove(); 
      return true; // Found and removed 
     } 
    } 
    return false; // Not found 
}