2012-05-17 93 views
1

我有2个散列表,其中包含一个键和一个值。 我的目标是找出其中一个hashmap中的重复项,如果检测到重复项,我将提取KEY。我可以知道我该如何在散列表中做到这一点?带有ArrayList的Java HashMap

基本上第一个HashMap存储站ID,第二个HashMap存储站名 在某一点上也会有变换列车的拦截。 我该如何编码它,如果用户在列车1号线上的登车站和列车2号线上的下车站,它会返回告诉你,你要换乘列车到达是另一列火车线上的位置。

对这个解释很抱歉,它有点混乱。

如果你能帮忙,会很好!谢谢!

+2

发布您的代码,我们将能够提供帮助。 –

+1

请用正确的英文问你的问题,并解释你的问题的细节。到目前为止,还不清楚你的意思是重复或“提取”密钥意味着什么。为什么你在标题中提到一个数组列表并不清楚,请更具体地说明你的问题。 – ins0m

回答

0

你的意思是重复的值,对吧?我会假设这意味着所有键的所有值。

对不起,但我想你可能会在这里使用错误的抽象级别。不要扭曲你的代码来完成这两个哈希映射。使用对象创建一个抽象(Java是一种面向对象的语言),它代表了您正在尝试建模和构建API以便用户易于处理的事情。

1

如果你正在寻找重复在两个不同的地图,这很容易。

Set set1 = new SomeKindOfSet(map1.getEntrySet()); // makes a copy, important! 
Set set2 = map2.getEntrySet(); 
set1.retainAll(set2); 

但是,如果你正在寻找重复这是更难。有一些第三方“双向”地图。但是因为我不明白你真正想要什么,所以很难说。