当前位置: 代码迷 >> java >> Java从ArrayList查找数据
  详细解决方案

Java从ArrayList查找数据

热度:52   发布时间:2023-07-16 17:41:21.0

这是我的代码的一部分,并且在两个不同的类中。 现在我只想添加一个选项,当您单击“查找”按钮时,您可以键入雇用ID,并显示与Array-list中的雇用ID匹配的雇用详细信息。

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        viewPanel("card4");

我该怎么做 ?

public class NewJFrame extends javax.swing.JFrame {
    private empType type;
    private List<Empoyees>objects;
    private int state=0;
    private DefaultListModel df;



public NewJFrame() {
    try {


     initComponents();  
     objects=new ArrayList<Empoyees>();
     objects.add(new Empoyees(123, 25000f,"Mahoshadi"));
     objects.add(new Empoyees(111, 95000f,"Sajani"));
     objects.add(new Empoyees(253, 15000f,"Buwani"));
     objects.add(new Empoyees(687, 66500f,"Thinithi"));


     state=1;
    viewPanel("card2");
      df=new DefaultListModel();
      df.addElement(objects.get(0));
      df.addElement(objects.get(1));
      df.addElement(objects.get(2));
      df.addElement(objects.get(3));  


    } catch (Exception e) {
    }

public class Empoyees {




private int empId;
private float salary;
private String empName;


public Empoyees(int empId, float salary, String empName) {
    this.empId = empId;
    this.salary = salary;
    this.empName = empName;
}

public int getEmpId() {
    return empId;
}

public float getSalary() {
    return salary;
}

public String getEmpName() {
    return empName;
}



@Override
public String toString() {
    return   "Name = " + empName + "   , ID = " + empId + "   , Salary = " + salary ;
}

代替使用List ,而使用hashmap 在这种情况下,您可以将员工ID用作哈希映射的键。 而且,您可以使用hashmap的get(Object key)方法直接检索员工详细信息

Map<Integer,Empoyees>employeeCodeEmployeeDetailsMap=new HashMap<Integer,Empoyees>(); 

这将为您创建所需的地图。

如果要使用List进行查找,则必须迭代查找值,例如:

for(Employee emp : employees) {
    if(emp.getEmpId() == id) {

    }
}

否则,您可以使用带有empId值的Map作为轻松查找的键。

  相关解决方案