mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
!152 添加自定义判断集合是否包含某类值的工具方法
Merge pull request !152 from Ease/feature/list
This commit is contained in:
@@ -50,6 +50,7 @@ import java.util.concurrent.BlockingQueue;
|
|||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
import java.util.concurrent.LinkedBlockingDeque;
|
import java.util.concurrent.LinkedBlockingDeque;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 集合相关工具类
|
* 集合相关工具类
|
||||||
@@ -410,6 +411,26 @@ public class CollUtil {
|
|||||||
return isNotEmpty(collection) && collection.contains(value);
|
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 {
|
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
|
@Test
|
||||||
public void testPadLeft() {
|
public void testPadLeft() {
|
||||||
List<String> srcList = CollUtil.newArrayList();
|
List<String> srcList = CollUtil.newArrayList();
|
||||||
|
Reference in New Issue
Block a user