如何删除存储在数组列表中的选定值?
问题描述:
参加一个员工记录程序,该程序存储员工姓名,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?
}
答
如果您希望能够通过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);
[从Java中的ArrayList中删除对象]的可能重复(http://stackoverflow.com/questions/1310532/deleting-objects-from -an-arraylist-in-java) – Eric 2013-05-01 20:54:11
你的问题是什么?为什么你不指定班级Employee而不是公司,因为它代表的是一名员工?还要尊重Java命名约定(方法以小写字母开头),并且不要使用公共字段。 – 2013-05-01 20:55:29
哪里输入的ID? – hrezs 2013-05-01 20:56:16