简单常用的自定义集合工具类

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:[email protected]
 * @version 创建时间:2017年5月23日 上午10:39:16
 */
public abstract class CollectionUtils {

    /**
     * 快速构建Set集合
     * @param t
     * @return
     * @author  作者:Yan,Email:[email protected]
     */
    public static  Set buildHashSet(@SuppressWarnings("unchecked") T... t) {
        Set 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:[email protected]
     */
    public static  T findFirst(Collection dataSource) {
        return CollectionUtils.isNotEmpty(dataSource) ? dataSource.stream().findFirst().get() : null;
    }

    /**
     * 找到第一个元素
     * @param dataSource
     * @return
     * @author  作者:Yan,Email:[email protected]
     */
    public static  T findFirst(List dataSource) {
        return CollectionUtils.isNotEmpty(dataSource) ? dataSource.get(0) : null;
    }
    
    /**
     * 集合拆分
     * @param dataSource
     * @return
     * @author  作者:Yan,Email:[email protected]
     */
    public static  List> split(Collection dataSource, Integer size) {
        List list = new ArrayList<>(dataSource);
        
        List> 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;
    }
}

你可能感兴趣的:(简单常用的自定义集合工具类)