gpt4 book ai didi

java - 找出两张 map 之间的差异

转载 作者:行者123 更新时间:2023-12-03 07:53:23 25 4
gpt4 key购买 nike

我有两张当前和以前的 map ,我想看看这两张 map 之间是否有任何区别。如果 currentMap 中存在新键,或者同一键的值不同,我可以停止。

Map<String, String> previousValue;
Map<String, String> currValue;

boolean isChangePresent = currValue.entrySet().stream().anyMatch(
x -> !previousValue.containsKey(x.getKey()) ||
(previousValue.get(x.getKey()) != null && !previousValue.get(x.getKey()).equals(
x.getValue())));

是否有更好的方法来执行此操作或执行此类操作的内置实用程序函数?

最佳答案

在 Guava 中:

MapDifference<String, String> mapDifference = Maps.difference(currValue, previousValue);

return !mapDifference.entriesOnlyOnLeft().isEmpty()
|| !mapDifference.entriesDiffering().isEmpty();

https://www.leveluplunch.com/java/examples/guava-map-difference-example/

关于java - 找出两张 map 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47043438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com