最近在面试中提出了这个问题,面试官更关注任何为此目的服务的第三方图书馆。
如果我是
的员工类String firstName;
int id;
String lastName;
如果我想使用id搜索员工,我需要在我的HashMap中使用id作为键和employee作为值
HashMap<Integer,Employee>
如果我现在想将我的密钥用作firstName,那么我需要将另一个hashMap设为HashMap<String,Employee>
是否有任何标准库,我不需要使用不同的密钥制作多个地图以进行搜索。 如果我想使用id + firstName作为搜索条件并将值作为Employee对象,该怎么办? 如果有10个属性,我需要设计一个数据结构来实现这个目的呢?
答案 0 :(得分:0)
您可以使用SQLite(标记为Android)数据库,以便您可以使用任何属性搜索记录。
答案 1 :(得分:0)
您只需使用一个HashMap<String,Employee>
。
由于密钥使用包含属性名称作为前缀的String,例如id
,firstName,
lastName followed by a separator like
:`以及之后的值。
这也允许使用属性组合作为键。
如果您现在将一个员工实例添加到HashMap,则添加三个具有相同值的条目。
示例:
employee1 = Employee {
id: 1,
firstName: "John",
lastName: "Doe"
}
HashMap: {
"id:1" -> employee1
"firstName:John" -> employee1
"lastName:Doe" -> employee1
}