2013-05-01 42 views
-2

參加一個員工記錄程序,該程序存儲員工姓名,ID#,年薪以及在ArrayList中聘用的日期。如何刪除存儲在數組列表中的選定值?

ArrayList <Company> inventory = new ArrayList <Company>(); 

String ID, firstName, lastName, annualSal, startDate; 

存儲信息。

private void AddActionPerformed(java.awt.event.ActionEvent evt) { 

     ID = IDField.getText(); 
     firstName = firstNameField.getText(); 
     lastName = lastNameField.getText(); 
     annualSal = annualSalField.getText(); 
     startDate = startDateField.getText(); 

     Company c = new Company(ID, firstName, lastName, annualSal, startDate); 
     inventory.add(c); 
    } 

當呼出時,這將輸出列表中的信息。

private void ListActionPerformed(java.awt.event.ActionEvent evt) { 

     String temp = ""; 

     for (int x=0; x<=inventory.size()-1; x++) { 
      temp = temp + inventory.get(x).ID + " " 
        + inventory.get(x).firstName + " " 
        + inventory.get(x).lastName + " " 
        + inventory.get(x).annualSal + " " 
        + inventory.get(x).startDate + "\n"; 
     } 
     employeeTArea.setText(temp); 

此按鈕將刪除選定的信息(通過輸入ID#)並刪除員工的記錄。

private void removeButtonActionPerformed(java.awt.event.ActionEvent evt) { 

//Code here on how to delete an unknown variable stored in array, possible to use getText? 

    } 
+0

[從Java中的ArrayList中刪除對象]的可能重複(http://stackoverflow.com/questions/1310532/deleting-objects-from -an-arraylist-in-java) – Eric 2013-05-01 20:54:11

+0

你的問題是什麼?爲什麼你不指定班級Employee而不是公司,因爲它代表的是一名員工?還要尊重Java命名約定(方法以小寫字母開頭),並且不要使用公共字段。 – 2013-05-01 20:55:29

+0

哪裏輸入的ID? – hrezs 2013-05-01 20:56:16

回答

0

如果您希望能夠通過ID查找公司,我推薦使用HashMap而不是ArrayList。 HashMap允許您通過關聯查找鍵來存儲對象。這裏的文檔:http://docs.oracle.com/javase/6/docs/api/java/util/HashMap.html

和一些有用的命令:

HashMap<Integer,Company> inventory = new HashMap<Integer,Company>(); 

inventory.put(ID,c); 

Company c = inventory.get(ID); 

inventory.remove(ID); 
相關問題