在我的應用程序,我們已經有哪種數據結構最好?
Map<String, List<String>>
現在我們得到了另一個用例,其中需要找到被映射到列表中的特定字符串的關鍵。
我下面想寫作:
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;
}
Map
最多可以有2000個條目。並且每個List
可以具有最多500個String
。
任何可能更適合的建議?我可以更改初始數據結構(Map
),如果還有更好的方法可以做到這一點..
您可以使用'Set'而不是'List '作爲'contains()'方法在'Set'上快得多。如果你的地圖很大,你可以考慮添加另一個地圖。 –
Shivam