鑑於我有一個LinkedHashMap<String,Boolean>
和一個ArrayList<String>
,我如何根據密鑰更新LinkedHashMap
?從列表更新映射的有效方法
我能想到的解決方法是:
private void updateFilesPath(LinkedHashMap<String,Boolean) map,ArrayList<String> list) {
for (String filePath : list)
if (map.get(filePath) == null)
map.put(filePath, true);
}
但這soloution是O(n^2)
(n次迭代和收集與時間複雜度O(n)
搜索)
是否有實現這一目標的一個更有效的方法?
不確定你試圖用這個來達到什麼目的。你可以退後一步,解釋一下你的用例嗎? – Marvin
使用linkedhashmap的任何特定原因? –
@Marvin布爾值用於確定檢查清單是否已被檢查。構造函數提供araylist來創建item.so我應該自己更新hashmap來引用已檢查的項目 – Mehrdad