我有两个地图,如下所示:
Map<String, Record> sourceRecords;
Map<String, Record> targetRecords;
我想获得与每个maps.ie不同的键
我做到了如下:
Set<String> sourceKeysList = new HashSet<String>(sourceRecords.keySet());
Set<String> targetKeysList = new HashSet<String>(targetRecords.keySet());
SetView<String> intersection = Sets.intersection(sourceKeysList, targetKeysList);
Iterator it = intersection.iterator();
while (it.hasNext()) {
Object object = (Object) it.next();
System.out.println(object.toString());
}
SetView<String> difference = Sets.symmetricDifference(sourceKeysList, targetKeysList);
ImmutableSet<String> immutableSet = difference.immutableCopy();
编辑
if(sourceKeysList.removeAll(targetKeysList)){
//distinct sourceKeys
Iterator<String> it1 = sourceKeysList.iterator();
while (it1.hasNext()) {
String id = (String) it1.next();
String resultMessage = "This ID exists in source file but not in target file";
System.out.println(resultMessage);
values = createMessageRow(id, resultMessage);
result.add(values);
}
}
if(targetKeysList.removeAll(sourceKeysList)){
//distinct targetKeys
Iterator<String> it1 = targetKeysList.iterator();
while (it1.hasNext()) {
String id = (String) it1.next();
String resultMessage = "This ID exists in target file but not in source file";
System.out.println(resultMessage);
values = createMessageRow(id, resultMessage);
result.add(values);
}
}
我能够找到通用键,但找不到不同的键。请帮忙。
集允许您也 删除 元素。
如果生成“ helper”集对您来说不是问题(因为条目太多,那么:
Set<String> sources = get a copy of all source entries
Set<String> targets = get a copy of all source entries
然后:
sources.removeAll(targets) ... leaves only entries in sources that are only in sources, not in target
而
sources.retainAll(targets) ... leaves only entries that are in both sets
您可以从这里开始工作…
问题内容: 我有两个字典。我需要找到两者之间的区别,这应该给我关键和价值。 我已经搜索并找到了一些插件/软件包,例如datadiff,dictdiff-master,但是当我在Python 2.7中尝试时,它说没有定义这样的模块。 我在这里用套装。 输出>>> set([[‘SCD-3547’,’SCD-3456’]) 我只有钥匙,我什至需要获取值。 问题答案: 使用字典理解来尝试以下代码段: 在
问题内容: 我使用以下代码在Android中使用Gson比较了两个JSON对象: 有两种方法可以使用Gson以JSON格式获取两个对象之间的 差异 吗? 问题答案: 如果将对象反序列化为,则也可以使用Guava,可以用来比较两个生成的地图。 请注意,如果您关心元素的 顺序 ,则不会保留s 字段的顺序,因此此方法不会显示这些比较。 这是您的操作方式: 该程序输出: 在此处阅读更多有关结果对象包含的信
本文向大家介绍如何获得两个Java LocalDate之间的天,月和年?,包括了如何获得两个Java LocalDate之间的天,月和年?的使用技巧和注意事项,需要的朋友参考一下 设置两个Java日期: 现在,使用Period类方法获取两个日期之间的差: 现在,获取年,月和日: 示例 输出结果
问题内容: 我希望能够获得两个JavaScript对象图之间所有差异的列表,以及出现变化的属性名称和值。 就其价值而言,这些对象通常以JSON的形式从服务器中检索,并且通常不超过几层深度(即,可能是对象本身具有数据的数组,然后是具有其他数据对象的数组)。 我不仅要看到对基本属性的更改,还要看到数组成员等的数量差异等。 如果没有答案,我可能最终会自己写这个,但希望有人已经完成了这项工作或知道有人做了
如何获得两个数据帧之间的差异。例如,我有两个数据帧 我想收到
我有组表,它有列id,名称,时间戳。当有一个组的更新时,时间戳也被更新为Current。 我正在尝试使用查询显示两个ID之间的组计数。 group表具有: 任何帮助都是非常感谢的。