繁体   English   中英

在LinkedList中查找元素

[英]Finding element in LinkedList

如果我有一个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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM