[英]In Kotlin: What is an elegant way to sum two values of a common key from two maps?
[英]How to get common values from two different maps in the fastest possible way?
我有兩個哈希圖。 我想找到兩個地圖共有的值。 一種方法是遍歷第一個映射,獲取值並使用該值通過迭代將其與其他映射的值匹配。 但這需要很多時間。 有沒有其他方法可以最快的方式找到共同值?
firstMap.keySet().retainAll(secondMap.keySet())
做你想做的事。
我仍然不確定這是真正最快的方法。 也許如果您可以控制這兩個地圖的人口,您可以創建第三個地圖,該地圖將在數據人口期間積累共享密鑰?
顯然是一個非常古老的帖子,但如果其他人正在尋找值特別必須匹配的答案,你可以做這樣的事情
map1.entrySet().retainAll(map.entrySet());
如果您使用 keySet(),您將保留自己使用的公共鍵,但如果您想匹配鍵和值,請使用 entrySet()。
沒試過這個,我不確定它是否會更快,但你可以考慮將 HashMaps 轉換為 HashSets 然后調用 Set1.retainAll(Set2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.