如果我有一个Employee对象的LinkedList ...
每位员工都有一个名称和一个ID字段。
我有链接列表呼叫列表....
如果我想查看列表是否包含我所做的员工:
list.contains(someEmployeeObject)
如果我想查看该列表是否包含基于imployee ID的员工,那该怎么样..
假设我有以下方法:
public boolean containsEmployeeByID(int id)
如何知道列表是否包含带参数id?
的员工对象答案 0 :(得分:4)
只需查看列表并查找匹配项。如果经常这样做并且不经常更改列表,请首先构建Map索引。
List<Employee> list = ...
for (Employee e : list)
if (e.getID() == id)
return true;
return false;
那说,在LinkedList中保存员工?多么奇怪的例子......
答案 1 :(得分:1)
也许您应该使用一个地图,其中的密钥是ID,而值是员工姓名或员工对象?
答案 2 :(得分:1)
您可以覆盖您的equals()方法以根据Id进行比较,但这通常不是最佳做法。
另一个选择是创建一个HashMap,然后您可以通过他们的Id来检索您的员工。
for (Employee empl : list) {
map.put(empl.getId(), empl);
}
String idLookup = "1234";
Employee employee = map.get(idLookup);