我有一个物体地图 Members
public class Member { int id; String firstName; String lastName; String street; String city; ...
与id
作为重点,这是我做的工作,我不想更改地图的结构.
我需要按名称功能实现搜索.到目前为止,我只能想到两个解决方案:
第一是迭代地图 - 不是最节省时间的方式
第二个是创建另一个地图,其成员的名称作为键,ids作为值作为我的主地图的参考,并通过此地图搜索以找到关键 - 有效时间但空间较少,这不会让我太担心
我想问一下,在我的案例中是否有更有效(更好)的方法来实现地图搜索?
你是正确的,迭代地图不是最有效的方式; 那将是O(n)与n Members
.
你是在正确的轨道上创建一个Map
由成员的名字键入的第二个.我要改变的是将Member
引用作为第二个映射的值,这样您就不必检索ID,然后在第一个映射上执行第二次查找以检索Member
.这将是一个Map
.