This commit is contained in:
looly 2021-11-30 11:59:34 +08:00
parent 109725da79
commit 5ba1dde50d
2 changed files with 8 additions and 8 deletions

View File

@ -1315,20 +1315,20 @@ public class CollUtil {
} }
/** /**
* 移除集合中的多个元素并将结果存放到生成的新集合中后返回 * 移除集合中的多个元素并将结果存放到生成的新集合中后返回<br>
* 此方法直接修改原集合 * 此方法直接修改原集合
* *
* @param <T> 集合类型 * @param <T> 集合类型
* @param <E> 集合元素类型 * @param <E> 集合元素类型
* @param targetCollection 被操作移除元素的集合 * @param targetCollection 被操作移除元素的集合
* @param filter 用于是否移除判断的过滤器 * @param predicate 用于是否移除判断的过滤器
* @return 移除结果的集合 * @return 移除结果的集合
* @since 5.7.17
*/ */
@SuppressWarnings("unchecked") public static <T extends Collection<E>, E> List<E> removeWithAddIf(T targetCollection, Predicate<? super E> predicate) {
public static <T extends Collection<E>, E> T removeWithAddIf(T targetCollection, Predicate<? super E> filter) { final List<E> removed = new ArrayList<>();
Collection<E> resultCollection = new ArrayList<>(); removeWithAddIf(targetCollection, removed, predicate);
removeWithAddIf(targetCollection, resultCollection, filter); return removed;
return (T) resultCollection;
} }
/** /**

View File

@ -45,7 +45,7 @@ public class CollUtilTest {
ArrayList<Integer> exceptRemovedList = CollUtil.newArrayList(2, 3); ArrayList<Integer> exceptRemovedList = CollUtil.newArrayList(2, 3);
ArrayList<Integer> exceptResultList = CollUtil.newArrayList(1); ArrayList<Integer> exceptResultList = CollUtil.newArrayList(1);
ArrayList<Integer> resultList = CollUtil.removeWithAddIf(list, ele -> 1 == ele); List<Integer> resultList = CollUtil.removeWithAddIf(list, ele -> 1 == ele);
Assert.assertEquals(list, exceptRemovedList); Assert.assertEquals(list, exceptRemovedList);
Assert.assertEquals(resultList, exceptResultList); Assert.assertEquals(resultList, exceptResultList);