mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-05 17:37:59 +08:00
!152 添加自定义判断集合是否包含某类值的工具方法
Merge pull request !152 from Ease/feature/list
This commit is contained in:
commit
55942a9147
@ -50,6 +50,7 @@ import java.util.concurrent.BlockingQueue;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.LinkedBlockingDeque;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
/**
|
||||
* 集合相关工具类
|
||||
@ -410,6 +411,26 @@ public class CollUtil {
|
||||
return isNotEmpty(collection) && collection.contains(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 自定义函数判断集合是否包含某类值
|
||||
*
|
||||
* @param collection 集合
|
||||
* @param containFunc 自定义判断函数
|
||||
* @param <T> 值类型
|
||||
* @return 是否包含自定义规则的值
|
||||
*/
|
||||
public static <T> boolean contains(Collection<T> collection, Predicate<? super T> containFunc) {
|
||||
if (isEmpty(collection)) {
|
||||
return false;
|
||||
}
|
||||
for (T t : collection) {
|
||||
if (containFunc.test(t)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 其中一个集合在另一个集合中是否至少包含一个元素,即是两个集合是否至少有一个共同的元素
|
||||
*
|
||||
|
@ -19,6 +19,13 @@ import java.util.*;
|
||||
*/
|
||||
public class CollUtilTest {
|
||||
|
||||
@Test
|
||||
public void testPredicateContains() {
|
||||
ArrayList<String> list = CollUtil.newArrayList("bbbbb", "aaaaa", "ccccc");
|
||||
Assert.assertTrue(CollUtil.contains(list, s -> s.startsWith("a")));
|
||||
Assert.assertFalse(CollUtil.contains(list, s -> s.startsWith("d")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPadLeft() {
|
||||
List<String> srcList = CollUtil.newArrayList();
|
||||
|
Loading…
Reference in New Issue
Block a user