【发布时间】:2016-04-07 13:00:27
【问题描述】:
我想在一个列表中搜索,我的列表看起来像
List<Employee> oneEmp= new ArrayList<Employee>();
List<Employee> twoEmp= new ArrayList<Employee>();
oneEmp= [Employee [eid=1001, eName=Sam Smith, eAddress=Bangluru, eSalary=10000000], Employee [eid=0, eName=, eAddress=, eSalary=null], Employee [eid=1003, eName=Amt Lime, eAddress=G Bhagyoday, eSalary=200000], Employee [eid=1004, eName=Ash Wake, eAddress=BMC, eSalary=200000], Employee [eid=1005, eName=Will Smith, eAddress= Delhi, eSalary=200000], Employee [eid=1006, eName=Shya Ymwar, eAddress=Madras, eSalary=50000], Employee [eid=1007, eName=Nag Gam, eAddress=Pune, eSalary=10000000], Employee [eid=1008, eName=Arti, eAddress=Delhi, eSalary=10000000]]
twoEmp= [Employee [eid=0, eName=null, eAddress=null, eSalary=100000], Employee [eid=0, eName=null, eAddress=null, eSalary=50000], Employee [eid=0, eName=null, eAddress=null, eSalary=200000]]
我正在使用这样的代码:-
for(Employee two : twoEmp){
for (Iterator<Employee> iterator = oneEmp.iterator(); iterator.hasNext(); ) {
Employee e = iterator.next();
if (e.geteSalary() != null && two.geteSalary() != null && e.geteSalary().compareTo(two.geteSalary()) == 0) {
finalEmpList.add(e);
}
}
}
但这仍然需要 2 个 for 循环
我使用的是 JAVA 1.6
我的 Employee 类有属性:
//Employee class
int eid;
BigInteger eSalary;
String eName, eAddress;
现在我想获取 List who's Salary = 10000000 中的所有对象
结果应该是:
[员工 [eid=1001, eName=Sam Smith, eAddress=Bangluru, eSalary=10000000], 员工 [eid=1007, eName=Nag Gam, eAddress=Pune, eSalary=10000000], 员工 [eid=1008, eName=Arti, eAddress=Delhi, eSalary=10000000],.......................]
我希望不使用任何循环或所需的最小循环来实现这一目标,因为数据会很大
【问题讨论】:
标签: list search arraylist java-6