2013-05-01 39 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); 
相关问题