【问题标题】:How to delete selected values stored in an array list?如何删除存储在数组列表中的选定值?
【发布时间】:2013-04-25 22:21:37
【问题描述】:

以一个员工记录程序为例,它将员工姓名、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?

   }

【问题讨论】:

  • 你有什么问题?为什么不将类命名为 Employee 而不是 Company,因为它代表一个员工?还要遵守 Java 命名约定(方法以小写字母开头),不要使用公共字段。
  • ID在哪里输入?
  • @Eric 类似,但不完全重复。该问题是询问如何删除存储在数组中的所有信息。我在问如何只删除一个(小苹果、香蕉、草莓是用户输入的水果)那么你会用什么代码来删除一个未知变量? (因为您不知道用户将输入什么)
  • @hrezs 一个字段,在本例中为 IDField。

标签: java arrays list


【解决方案1】:

如果您希望能够通过 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多