Class IteratorValidator
java.lang.Object
org.miaixz.bus.core.center.iterator.IteratorValidator
- Direct Known Subclasses:
IteratorKit
Iterator检查工具类,提供字对象的blank和empty等检查
- empty定义:
nullor 空字对象:"" - blank定义:
nullor 空字对象:""or 空格、全角空格、制表符、换行符,等不可见字符
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription根据集合返回一个元素计数的Map所谓元素计数就是假如这个集合中某个元素出现了n次,那将这个元素做为key,n做为value 例如:[a,b,c,c,c] 得到: a: 1 b: 1 c: 3static boolean判断两个Iterable中的元素是否相同,可选是否判断顺序 当满足下列情况时返回true: 两个Iterable都为null; 两个Iterable满足iterable1 == iterable2; 如果忽略顺序,则计算两个集合中元素和数量是否相同 如果不忽略顺序,两个Iterable所有具有相同下标的元素皆满足Objects.equals(Object, Object);static <E> E遍历Iterator,获取指定index位置的元素static <T> T获取集合的第一个元素static <T> T返回Iterator中第一个匹配规则的值static <T> TgetFirstNoneNull(Iterator<T> iterator) 获取集合的第一个非空元素static booleanhasBlank(Iterable<? extends CharSequence> args) 指定字符串集合中,是否包含空字符串。static boolean是否包含null元素 Iterator为null,返回trueIterator为空集合,即元素个数为0,返回falseIterator中元素为"",返回falsestatic booleanisAllBlank(Iterable<? extends CharSequence> args) static boolean是否全部元素为nullstatic boolean是否全部元素为nullstatic booleanIterable是否为空static booleanIterator是否为空static booleanisEqualList(Iterable<?> iterable1, Iterable<?> iterable2) 判断两个Iterable中的元素与其顺序是否相同 当满足下列情况时返回true: 两个Iterable都为null; 两个Iterable满足iterable1 == iterable2; 两个Iterable所有具有相同下标的元素皆满足Objects.equals(Object, Object); 此方法来自Apache-Commons-Collections4。static booleanisNotEmpty(Iterable<?> iterable) Iterable是否为空static booleanisNotEmpty(Iterator<?> iterator) Iterator是否为空static boolean判断subIter是否为iter的子集合,不考虑顺序,只考虑元素数量。 如果两个集合为同一集合或,则返回true 如果两个集合元素都相同,则返回true(无论顺序相同与否)
-
Constructor Details
-
IteratorValidator
public IteratorValidator()
-
-
Method Details
-
isEmpty
Iterable是否为空- Parameters:
iterable- Iterable对象- Returns:
- 是否为空
-
isEmpty
Iterator是否为空- Parameters:
iterator- Iterator对象- Returns:
- 是否为空
-
isNotEmpty
Iterable是否为空- Parameters:
iterable- Iterable对象- Returns:
- 是否为空
-
isNotEmpty
Iterator是否为空- Parameters:
iterator- Iterator对象- Returns:
- 是否为空
-
hasNull
是否包含null元素- Iterator为
null,返回true - Iterator为空集合,即元素个数为0,返回
false - Iterator中元素为"",返回
false
- Parameters:
iter- 被检查的Iterator对象,如果为null返回true- Returns:
- 是否包含
null元素
- Iterator为
-
isAllNull
是否全部元素为null- Parameters:
iter- iterator 被检查的Iterable对象,如果为null返回true- Returns:
- 是否全部元素为null
-
isAllNull
是否全部元素为null- Parameters:
iter- iterator 被检查的Iterator对象,如果为null返回true- Returns:
- 是否全部元素为null
-
hasBlank
指定字符串集合中,是否包含空字符串。- Parameters:
args- 字符串列表- Returns:
- 批量判断字符串是否全部为空白
-
isAllBlank
- Parameters:
args- 字符串列表- Returns:
- 批量判断字符串是否全部为空白
-
isSub
判断subIter是否为iter的子集合,不考虑顺序,只考虑元素数量。- 如果两个集合为同一集合或,则返回true
- 如果两个集合元素都相同,则返回true(无论顺序相同与否)
- Parameters:
subIter- 第一个Iterable对象,即子集合。iter- 第二个Iterable对象,可以为任何实现了Iterable接口的集合。- Returns:
- 如果subIter是iter的子集合,则返回true;否则返回false。
-
isEqualList
判断两个Iterable中的元素与其顺序是否相同 当满足下列情况时返回true:- 两个
Iterable都为null; - 两个
Iterable满足iterable1 == iterable2; - 两个
Iterable所有具有相同下标的元素皆满足Objects.equals(Object, Object);
- Parameters:
iterable1- 列表1iterable2- 列表2- Returns:
- 是否相同
- 两个
-
equals
判断两个Iterable中的元素是否相同,可选是否判断顺序 当满足下列情况时返回true:- 两个
Iterable都为null; - 两个
Iterable满足iterable1 == iterable2; - 如果忽略顺序,则计算两个集合中元素和数量是否相同
- 如果不忽略顺序,两个
Iterable所有具有相同下标的元素皆满足Objects.equals(Object, Object);
- Parameters:
iterable1- 集合1iterable2- 集合2ignoreOrder- 是否忽略顺序- Returns:
- 是否相同
- 两个
-
get
遍历Iterator,获取指定index位置的元素- Type Parameters:
E- 元素类型- Parameters:
iterator-Iteratorindex- 位置- Returns:
- 元素,找不到元素返回
null - Throws:
IndexOutOfBoundsException- index < 0时报错
-
getFirst
获取集合的第一个元素- Type Parameters:
T- 集合元素类型- Parameters:
iterator-Iterator- Returns:
- 第一个元素
-
getFirst
返回Iterator中第一个匹配规则的值 -
getFirstNoneNull
获取集合的第一个非空元素- Type Parameters:
T- 集合元素类型- Parameters:
iterator-Iterator- Returns:
- 第一个非空元素,null表示未找到
-
countMap
根据集合返回一个元素计数的Map所谓元素计数就是假如这个集合中某个元素出现了n次,那将这个元素做为key,n做为value 例如:[a,b,c,c,c] 得到: a: 1 b: 1 c: 3
-