Java从ArrayList查找数据

时间:2015-07-26 08:10:25

标签: java arraylist

这是我的代码的一部分,它在两个不同的类中。现在我只想添加一个选项,当您单击查找按钮时,可以键入应用程序ID并显示与数组列表中的应用程序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 ;
}

2 个答案:

答案 0 :(得分:0)

不使用List,而是使用hashmap。在这种情况下,您可以使用employee id作为hashmap的键。您可以使用hashmap的get(Object key)方法

直接检索员工详细信息
Map<Integer,Empoyees>employeeCodeEmployeeDetailsMap=new HashMap<Integer,Empoyees>(); 

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

答案 1 :(得分:0)

如果您想使用List进行查找,则必须迭代才能找到值,例如:

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

    }
}

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