0

私は、顧客を見つけるためにこれら 2 つの方法を使用しています。見つけたばかりの顧客をリストから削除するにはどうすればよいですか? 私はarrayListを使用しています私の2つの方法は次のとおりです。

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

1 に答える 1

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
}
于 2013-04-07T16:21:36.413 に答える