java开发获取地图_如何获得两个地图Java之间的区别?

我有两个地图,如下所示:

Map sourceRecords;

Map targetRecords;

我想获得与每个maps.ie不同的键

它显示了在sourceRecords中可用但在targetRecords中不可用的映射键。

它显示了targetRecords中可用的映射键,而sourceRecords中没有。

我做到了如下:

Set sourceKeysList = new HashSet(sourceRecords.keySet());

Set targetKeysList = new HashSet(targetRecords.keySet());

SetView intersection = Sets.intersection(sourceKeysList, targetKeysList);

Iterator it = intersection.iterator();

while (it.hasNext()) {

Object object = (Object) it.next();

System.out.println(object.toString());

}

SetView difference = Sets.symmetricDifference(sourceKeysList, targetKeysList);

ImmutableSet immutableSet = difference.immutableCopy();

编辑

if(sourceKeysList.removeAll(targetKeysList)){

//distinct sourceKeys

Iterator 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 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);

}

}

我能够找到通用键,但找不到不同的键。请帮忙。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值