问题描述
这是我的代码的一部分,并且在两个不同的类中。 现在我只想添加一个选项,当您单击“查找”按钮时,您可以键入雇用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 ;
}
1楼
代替使用List
,而使用hashmap
。
在这种情况下,您可以将员工ID用作哈希映射的键。
而且,您可以使用hashmap的get(Object key)
方法直接检索员工详细信息
Map<Integer,Empoyees>employeeCodeEmployeeDetailsMap=new HashMap<Integer,Empoyees>();
这将为您创建所需的地图。
2楼
如果要使用List
进行查找,则必须迭代查找值,例如:
for(Employee emp : employees) {
if(emp.getEmpId() == id) {
}
}
否则,您可以使用带有empId
值的Map
作为轻松查找的键。