2015-07-26 3 views
1

Это часть моего кода и его в двух разных классах. теперь я просто хочу добавить вариант, когда вы нажимаете кнопку «Найти», вы можете ввести идентификатор занятости и отобразить данные об использовании, соответствующие идентификатору использования из списка Array.Java Поиск данных из ArrayList

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 ; 
} 

ответ

0

Вместо использования List используйте hashmap. В этом случае вы можете использовать идентификатор employee как ключ для hashmap. И вы можете непосредственно получить детали сотрудника с помощью метода get(Object key) HashMap в

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

Это создаст необходимую карту для вас.

0

Если вы хотите, чтобы сделать поиск с List, вам придется перебирать, чтобы найти значение, что-то вроде:

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

    } 
} 

Или же, вы можете использовать Map со значением empId в качестве ключа для простой поиск.

+0

Спасибо. Это работало –

+0

Приятно слышать это! Вы можете принять ответ, чтобы другие с той же проблемой знали, что он сработал. – anish

Смежные вопросы