diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java index 1c4353ea6..6974d9ce8 100644 --- a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java @@ -1554,10 +1554,10 @@ public class CollUtil { * @param map Map * @param editor 编辑器接口 * @return 过滤后的Map - * @see MapUtil#filter(Map, Editor) + * @see MapUtil#edit(Map, Editor) */ - public static Map filter(Map map, Editor> editor) { - return MapUtil.filter(map, editor); + public static Map edit(Map map, Editor> editor) { + return MapUtil.edit(map, editor); } /** @@ -1830,7 +1830,7 @@ public class CollUtil { * @since 3.0.4 */ public static Map zip(String keys, String values, String delimiter, boolean isOrder) { - return ArrayUtil.zip(StrUtil.split(keys, delimiter), StrUtil.split(values, delimiter), isOrder); + return ArrayUtil.zip(StrUtil.splitToArray(keys, delimiter), StrUtil.splitToArray(values, delimiter), isOrder); } /** diff --git a/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java b/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java index 57ec9ab38..543571286 100644 --- a/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/MapUtil.java @@ -623,7 +623,7 @@ public class MapUtil { * @param editor 编辑器接口 * @return 过滤后的Map */ - public static Map filter(Map map, Editor> editor) { + public static Map edit(Map map, Editor> editor) { if (null == map || null == editor) { return map; } @@ -716,7 +716,7 @@ public class MapUtil { * @since 3.2.2 */ public static Map reverse(Map map) { - return filter(map, (Editor>) t -> new Entry() { + return edit(map, t -> new Entry() { @Override public T getKey() { @@ -905,7 +905,7 @@ public class MapUtil { */ @SuppressWarnings("unchecked") public static Map getAny(Map map, final K... keys) { - return filter(map, (Filter>) entry -> ArrayUtil.contains(keys, entry.getKey())); + return filter(map, entry -> ArrayUtil.contains(keys, entry.getKey())); } /** diff --git a/hutool-core/src/test/java/cn/hutool/core/map/MapUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/map/MapUtilTest.java index cb9edf18e..19fdc8316 100644 --- a/hutool-core/src/test/java/cn/hutool/core/map/MapUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/map/MapUtilTest.java @@ -1,18 +1,15 @@ package cn.hutool.core.map; import cn.hutool.core.convert.Convert; -import cn.hutool.core.lang.Editor; -import cn.hutool.core.lang.Filter; import cn.hutool.core.util.StrUtil; import org.junit.Assert; import org.junit.Test; import java.util.HashMap; import java.util.Map; -import java.util.Map.Entry; public class MapUtilTest { - + @Test public void filterTest() { Map map = MapUtil.newHashMap(); @@ -21,7 +18,7 @@ public class MapUtilTest { map.put("c", "3"); map.put("d", "4"); - Map map2 = MapUtil.filter(map, (Filter>) t -> Convert.toInt(t.getValue()) % 2 == 0); + Map map2 = MapUtil.filter(map, t -> Convert.toInt(t.getValue()) % 2 == 0); Assert.assertEquals(2, map2.size()); @@ -30,14 +27,28 @@ public class MapUtilTest { } @Test - public void filterForEditorTest() { + public void filterContainsTest() { + Map map = MapUtil.newHashMap(); + map.put("abc", "1"); + map.put("bcd", "2"); + map.put("def", "3"); + map.put("fgh", "4"); + + Map map2 = MapUtil.filter(map, t -> StrUtil.contains(t.getKey(), "bc")); + Assert.assertEquals(2, map2.size()); + Assert.assertEquals("1", map2.get("abc")); + Assert.assertEquals("2", map2.get("bcd")); + } + + @Test + public void editTest() { Map map = MapUtil.newHashMap(); map.put("a", "1"); map.put("b", "2"); map.put("c", "3"); map.put("d", "4"); - Map map2 = MapUtil.filter(map, (Editor>) t -> { + Map map2 = MapUtil.edit(map, t -> { // 修改每个值使之*10 t.setValue(t.getValue() + "0"); return t; @@ -74,7 +85,7 @@ public class MapUtilTest { map.put("b", "2"); map.put("c", "3"); map.put("d", "4"); - + Object[][] objectArray = MapUtil.toObjectArray(map); Assert.assertEquals("a", objectArray[0][0]); Assert.assertEquals("1", objectArray[0][1]);