java比较两个不同映射的键值
比较两个不同映射的键值
我有以下两张不同的地图,如下所示
Map<Integer, List<String>> multimap1 = new HashMap<Integer, List<String>>();
List<String> someList1 = new ArrayList<String>();
someList1.add("abc");
someList1.add("def");
someList1.add("ght");
multimap1.put(1, someList1);
另一个是
Map<Integer, List<String>> multimap2 = new HashMap<Integer, List<String>>();
List<String> someList = new ArrayList<String>();
someList2.add("abc");
someList2.add("wed");
someList2.add("ght");
multimap2.put(1, someList2);
现在,请告知逻辑,因为我想比较两个映射的值,并首先取键 从multimap1中的第一个贴图,也将从multimap2中获取第一个关键点,然后将比较它们的值
multimap1 multimap2
1 abc 1 abc
各位朋友,请建议解决方案,因为我被困在比较,任何帮助将不胜感激,提前感谢
# 1 楼答案
如果我没弄错,你想在另一个列表对象值中搜索一个地图列表对象值
map或list都不关心排序,不应该使用list迭代器来获取对象和比较。如果你确定地图索引在两个地图之间是唯一的,那么 执行以下操作:
从两个贴图中获取索引为1的对象。然后获取第一个_list_对象(通过迭代器)值,然后执行:
然后对
first_list
# 2 楼答案
现在还不完全清楚你在问什么。如果我理解正确,那么您需要检查multimap1中的列表是否与multimap2中的列表相同(相等)
如果是这样的话,那么您需要理解,在multimap的1键上,该值实际上不是“abc”,而是列表的一个对象
multimap1:
如果您想测试这两个列表是否包含相同的元素——并且顺序相同——只需使用