İki HashMaps var: FOO & BAR.Java'da HashMaps'i Karşılaştırma
HashMap FOO, HashMap BAR'ın bir üst kümesidir.
HashMap BAR'da "anahtarlar" ın niçin eksik olduğunu nasıl öğrenirim (örn. FOO'da var, ancak BAR değil)?
İki HashMaps var: FOO & BAR.Java'da HashMaps'i Karşılaştırma
HashMap FOO, HashMap BAR'ın bir üst kümesidir.
HashMap BAR'da "anahtarlar" ın niçin eksik olduğunu nasıl öğrenirim (örn. FOO'da var, ancak BAR değil)?
Eğer kullanıyorsanız google-collections (ve gerçekçi bunu az çok her önemsiz olmayan bir Java projesi üzerinde sınıf olması gerektiğini düşünüyorum) bu sadece:
Set<X> missing = Sets.difference(foo.keySet(), bar.keySet();
Set missing = new HashSet(foo.keySet());
missing.removeAll(bar.keySet());
+1 yeni yapım ayarlayın. foo.keySet(). removeAll() aslında foo haritasını değiştirecektir. – Jherico
Ayrıca, "MapDifference mapDiff = Maps.difference (FOO, BAR);" işlevini de kullanabilirsiniz ve sonuçta ortaya çıkan nesnenin, haritaların nasıl farklı olduğuna ilişkin ayrıntılı bir açıklaması için de inceleyebilirsiniz. –
Oh vay. Daha önce MapDifference'a bakmadığın için teşekkürler Kevin. – Cowan