如果我有一个 Employee 对象的 LinkedList...
每个员工都有一个姓名和一个 ID 字段。
我有linkedList调用列表....
如果我想查看列表中是否包含员工,我会这样做:
list.contains(someEmployeeObject)
如果我想查看列表是否包含基于员工 ID 的员工,怎么样?
假设我有以下方法:
public boolean containsEmployeeByID(int id)
我如何知道列表是否包含带有参数 id 的员工对象?
如果我有一个 Employee 对象的 LinkedList...
每个员工都有一个姓名和一个 ID 字段。
我有linkedList调用列表....
如果我想查看列表中是否包含员工,我会这样做:
list.contains(someEmployeeObject)
如果我想查看列表是否包含基于员工 ID 的员工,怎么样?
假设我有以下方法:
public boolean containsEmployeeByID(int id)
我如何知道列表是否包含带有参数 id 的员工对象?
只需遍历列表并查找匹配项。如果您经常这样做并且不经常更改列表,请先构建 Map 索引。
List<Employee> list = ...
for (Employee e : list)
if (e.getID() == id)
return true;
return false;
也就是说,将员工保存在 LinkedList 中?多么奇怪的示例问题...
也许您应该使用键是 ID 和值是员工姓名或员工对象的映射?
您可以覆盖您的 equals() 方法以根据 Id 进行比较,但这通常不是最佳实践。
另一种选择是创建一个 HashMap,然后您可以通过他们的 ID 检索您的员工。
for (Employee empl : list) {
map.put(empl.getId(), empl);
}
String idLookup = "1234";
Employee employee = map.get(idLookup);