diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/map/MapUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/map/MapUtil.java index 4e0264c80..b67db11f6 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/map/MapUtil.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/map/MapUtil.java @@ -1053,11 +1053,25 @@ public class MapUtil extends MapGetUtil { * @since 4.6.5 */ public static Map removeNullValue(final Map map) { + return removeIf(map, entry -> null == entry.getValue()); + } + + /** + * 去除Map中值为{@code null}的键值对
+ * 注意:此方法在传入的Map上直接修改。 + * + * @param key的类型 + * @param value的类型 + * @param map Map + * @param predicate 移除条件,当{@link Predicate#test(Object)}为{@code true}时移除 + * @return map + * @since 6.0.0 + */ + public static Map removeIf(final Map map, final Predicate> predicate) { if (isEmpty(map)) { return map; } - - map.entrySet().removeIf(entry -> null == entry.getValue()); + map.entrySet().removeIf(predicate); return map; }