如果我有一个Employee对象的LinkedList ...

每位员工都有一个名称和一个ID字段。

我有链接列表呼叫列表....

如果我想查看列表是否包含我所做的员工:

list.contains(someEmployeeObject)

如果我想查看该列表是否包含基于imployee 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归因
不隶属于 StackOverflow
scroll top