从ArrayList中删除“node”

时间:2013-04-07 16:17:43

标签: java arraylist

我使用这两种方法来寻找客户。如何从列表中删除我刚刚找到的客户?我正在使用arrayList 继承我的两种方法:

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());
    }
}

1 个答案:

答案 0 :(得分: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
}