-2
因此,我有一個旨在存儲員工記錄的程序,例如ID#,姓名,開始日期等。當用戶輸入員工ID號並按下刪除按鈕時,數組列表應該是如果該員工ID存在於數組列表中,那麼該員工的所有數據都應該從數組列表中刪除。我能夠添加並顯示所有數據,但我無法弄清楚如何搜索ArrayList中的ID號碼,然後刪除該員工的所有數據。任何幫助,這將不勝感激。我已經附加了我的代碼到目前爲止的刪除按鈕,以及一些其他代碼,以顯示數據如何存儲。從對象的數組列表中刪除數據
public class EmployeeRecords extends javax.swing.JFrame {
ArrayList <employees> employees = new ArrayList <employees>();
...
刪除按鈕代碼:
private void removeButtonActionPerformed(java.awt.event.ActionEvent evt) {
int index;
String id = idInput.getText();
boolean idCheck = employees.contains(id);
if (idCheck = true){
index = employees.indexOf(id);
employees.remove(index);
}
else {
errorLabel.setText("Employee not found. Please try again.");
}
}
添加按鈕代碼:
private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {
employees e;
String id, firstName, lastName, salary, startDate;
id = idInput.getText();
firstName = firstInput.getText();
lastName = lastInput.getText();
salary = salaryInput.getText();
startDate = dateInput.getText();
e = new employees(id, firstName, lastName, salary, startDate);
employees.add(e);
}
Employee類:
class employees {
String id, firstName, lastName, salary, startDate;
employees (String _id, String _firstName, String _lastName, String _salary, String _startDate) {
id = _id;
firstName = _firstName;
lastName = _lastName;
salary = _salary;
startDate = _startDate;
}
}
'Employee'類是否覆蓋'equals()'方法?如果不是,'contains()'不起作用。另外,對一個類和一個變量使用相同的名字是非常糟糕的做法。你的'員工'類應該是'員工'。第三,「列表」在任何意義上都不是「聯想」的。爲此,您需要一個將密鑰與值相關聯的「Map」。 –