vik*_*368 2 java collections data-structures
在我的申请中,我们已经有了
Map<String, List<String>>
Run Code Online (Sandbox Code Playgroud)
现在我们得到了另一个用例,需要找到一个映射到列表中特定字符串的键.
我正在考虑写下面的内容:
string getKey(Map<String, List<String>> m, String str) {
for (Entry<String, List<String>> entry :m.entrySet()) {
if(entry.getValue().contains(str)) {
retrun entry.getKey();
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
Map
可以有最多2000个条目.每个List
人最多可以有500 String
秒.
任何可能更合适的建议?Map
如果有更好的方法,我也可以更改初始数据结构().
我建议您添加另一个给出反向映射的映射 - 从字符串到键列表.这将需要更多的工作来与第一张地图保持同步,但会为您的任务提供最佳性能.
如果您认为此类查询的频率相对较低,那么您的解决方案可能会更好(尽管速度较慢,您为保持两个地图同步而节省的时间将弥补这一点).
归档时间: |
|
查看次数: |
356 次 |
最近记录: |