我有 2 个哈希图,其中包含两者的键和值。我的目标是找出其中一个哈希图中的重复项,如果检测到重复项,我将提取 KEY。我可以知道如何在哈希图中做到这一点吗?
基本上,第一个哈希图存储车站 ID,第二个哈希图存储车站名称,在某些时候也会被拦截以换乘火车。我如何对其进行编码,如果用户进入火车 1 号线的登机站和火车 2 号线的下车站,它会返回告诉您您必须更改火车以到达该位置位置在另一条火车线上。
对不起,解释它,它有点混乱。
如果你能帮忙就好了!谢谢!
如果您在两个不同的地图中寻找重复的键,那很容易。
Set set1 = new SomeKindOfSet(map1.getEntrySet()); // makes a copy, important!
Set set2 = map2.getEntrySet();
set1.retainAll(set2);
但是,如果您正在寻找重复的值,那就更难了。有一些第三方的“双向”地图。但是因为我不明白你真正想要什么,所以很难说。
You mean duplicate in the values, right? And I'll assume that means ALL values for all keys.
I'm sorry, but I think you might be using the wrong level of abstraction here. Don't contort your code to accomplish this with two hash maps. Create an abstration using an object - Java's an object-oriented language - that represents the thing you're trying to model and build an API to make that easy for users to deal with.