gpt4 book ai didi

java - HashMap - 如何返回只有参数的对象?

转载 作者:搜寻专家 更新时间:2023-11-01 01:32:49 25 4
gpt4 key购买 nike

鉴于以下细节,我需要编写一个返回对象 Person 的方法:

public class Person {

private String firstName;
private String lastName;
private int deskNo;
private String departmentName;
...
}
// this class also contains get methods for each argument

对象 Person 存储在 HashMap 中,其中 Key 与每个对象的 lastName 相同。值显然是 Person 对象。

private final Map<String, Person> employeeHM = new HashMap<>();
...
employeeHM.put("Doe", new Person("Jon", "Doe", 14, "Sales");

我用几种解决方案解决了这个问题,但都失败了。有没有办法直接比较 firstNamelastName 并返回匹配的对象?我的想法之一是使用 SetColleciton,但我相当确定这会使事情过于复杂。

@Override
public Person findPersonByFirstName(String firstName) {
// ?
}

最佳答案

只需遍历您的 map 并找到名字正确的人:

private Person getPersonByFirstName(String firstName) {
for (Person p : employeeHM.values()) {
if (p.getFirstName().equals(firstName))
return p;
}
return null;
}

请注意,这将为您提供找到的第一个名字正确的人。如果多个人确实有相同的名字,那么您得到的名字可能是随机的。

关于java - HashMap<String, Object> - 如何返回只有参数的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33999915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com