package com.xz.msg.push.sdk.utils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* @author 作者:Yan,Email:yanlun0323@163.com
* @version 创建时间:2017年5月23日 上午10:39:16
*/
public abstract class CollectionUtils {
/**
* 快速构建Set集合
* @param t
* @return
* @author 作者:Yan,Email:yanlun0323@163.com
*/
public static <T> Set<T> buildHashSet(@SuppressWarnings("unchecked") T... t) {
Set<T> result = new HashSet<>();
if(t != null){
for (int i = 0; i < t.length; i++) {
if(t[i] != null){//不允许NULL值存在
result.add(t[i]);
}
}
}
return result;
}
public static boolean isEmpty(Collection<?> dataSource) {
return null == dataSource || dataSource.isEmpty();
}
public static boolean isNotEmpty(Collection<?> dataSource) {
return !isEmpty(dataSource);
}
/**
* 找到集合的第一个元素
* @param dataSource
* @return
* @author 作者:Yan,Email:yanlun0323@163.com
*/
public static <T> T findFirst(Collection<T> dataSource) {
return CollectionUtils.isNotEmpty(dataSource) ? dataSource.stream().findFirst().get() : null;
}
/**
* 找到第一个元素
* @param dataSource
* @return
* @author 作者:Yan,Email:yanlun0323@163.com
*/
public static <T> T findFirst(List<T> dataSource) {
return CollectionUtils.isNotEmpty(dataSource) ? dataSource.get(0) : null;
}
/**
* 集合拆分
* @param dataSource
* @return
* @author 作者:Yan,Email:yanlun0323@163.com
*/
public static <T> List<Collection<T>> split(Collection<T> dataSource, Integer size) {
List<T> list = new ArrayList<>(dataSource);
List<Collection<T>> splited = new ArrayList<>();
if (CollectionUtils.isNotEmpty(dataSource)) {
for (int i = 0; i < dataSource.size(); i = i + size) {
splited.add(list.subList(i, Math.min(i + size, dataSource.size())));
}
}
return splited;
}
}
简单常用的自定义集合工具类
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...