All Downloads are FREE. Search and download functionalities are using the official Maven repository.

top.hmtools.collection.ListTools Maven / Gradle / Ivy

There is a newer version: 0.0.4-beta
Show newest version
package top.hmtools.collection;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

import top.hmtools.base.StringTools;

/**
 * 操作List集合的相关工具方法
 * @author Jianghaibo
 *
 */
public class ListTools {

    /**
     * 将数组转换为ArrayList,支持泛型。
    * 方法说明:                    getArrayList
    * 输入参数说明:           @param array
    * 输入参数说明:           @return
    * 输出参数说明:           List
    *
    *
     */
    public static  ArrayList getArrayList(T[] array){
        if(array == null || array.length<1){
            return null;
        }
        ArrayList result = new ArrayList();
        for(T t:array){
            result.add(t);
        }
        return result;
    }
    
    /**
     * 将字符串按指定分隔符分隔后,获取其ArrayList集合
    * 方法说明:                    getArrayList
    * 输入参数说明:           @param src
    * 输入参数说明:           @param split
    * 输入参数说明:           @return
    * 输出参数说明:           ArrayList
    *
    *
     */
    public static ArrayList getArrayList(String src,String split){
        if(StringTools.isBlank(src)){
            return null;
        }
        String[] strings = src.split(split);
        return getArrayList(strings);
    }
    
    /**
     * 获取去重元素后的ArrayList
    * 方法说明:                    removeDuplicate
    * 输入参数说明:           @param src
    * 输入参数说明:           @return
    * 输出参数说明:           ArrayList
    *
    *
     */
    public static ArrayList removeDuplicate(List src){
        if(src == null || src.size()<1){
            return null;
        }
        HashSet set = new HashSet();
        set.addAll(src);
        ArrayList< T> result = new ArrayList();
        result.addAll(set);
        return result;
    }
    
    /**
     * 获取多个List去重后的并集ArrayList集合(支持泛型)
    * 方法说明:                    union
    * 输入参数说明:           @param lists
    * 输入参数说明:           @return
    * 输出参数说明:           ArrayList
    *
    *
     */
    public static ArrayList union(List...lists){
        if(lists ==null || lists.length<1){
            return null;
        }
        HashSet set = new HashSet();
        for(List list:lists){
            set.addAll(list);
        }
        
        ArrayList< T> result = new ArrayList();
        result.addAll(set);
        return result;
    }
    
    /**
     * 获取多个List的交集元素(没有去重)
    * 方法说明:                    retainAll
    * 输入参数说明:           @param lists
    * 输入参数说明:           @return
    * 输出参数说明:           List
    *
    *
     */
    public static  List retainAll(List...lists){
        if(lists ==null || lists.length<1){
            return null;
        }
        
        List first = lists[0];
        for(List list:lists){
            first.retainAll(list);
        }
        return first;
    }
    
    /**
     * 获取多个List的交集元素(去重后)
    * 方法说明:                    retainAllAndRemoveDuplicate
    * 输入参数说明:           @param lists
    * 输入参数说明:           @return
    * 输出参数说明:           List
    *
    *
     */
    public static  List retainAllAndRemoveDuplicate(List...lists){
        return removeDuplicate(retainAll(lists));
    }

    /**
     * 打印list中的所有元素
     * @param list
     */
	public static void println(List list) {
		if(list != null){
			for(T tt:list){
				System.out.println(tt);
			}
		}
	}
    
    
    
    
    
    
    
    
    
    
    
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy