package com.matrix.system.hive.plugin.util;
|
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.Collections;
|
import java.util.HashSet;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Map.Entry;
|
import java.util.Set;
|
|
import net.sf.json.JSONArray;
|
|
/**
|
* 集合工具类包括集合转换,判断空等
|
* @author Ron
|
* @createTime 2014.08.30
|
*/
|
public class CollectionUtils {
|
|
/**
|
* 将map转为list
|
*
|
* @param map
|
* @return
|
*/
|
public static <T> List<T> mapToList(Map<String, T> map) {
|
|
if (map == null || map.size() < 1) {
|
return null;
|
}
|
List<T> result = new ArrayList<T>();
|
for (Entry<String, T> entry : map.entrySet()) {
|
result.add(entry.getValue());
|
}
|
return result;
|
}
|
|
/**
|
* 将list转为set,注意:有肯存在覆盖情况
|
*
|
* @param list
|
* @return
|
*/
|
public static <T> Set<T> listToSet(List<T> list) {
|
|
if (list == null || list.size() < 1) {
|
return null;
|
}
|
Set<T> result = new HashSet<T>();
|
for (T t : list) {
|
result.add(t);
|
}
|
return result;
|
}
|
|
/**
|
* 把src中的添加到target
|
*
|
* @param target
|
* @param src
|
* @return
|
*/
|
public static <T> Set<T> mergeSet(Set<T> target, Set<T> src) {
|
|
if (target == null) {
|
return src;
|
}
|
|
if (src == null) {
|
return target;
|
}
|
|
for (T t : src) {
|
target.add(t);
|
}
|
|
return target;
|
}
|
|
/**
|
* 把src中的添加到target
|
*
|
* @param target
|
* @param src
|
* @return
|
*/
|
public static <T> List<T> mergeList(List<T> target, List<T> src) {
|
|
if (target == null) {
|
return src;
|
}
|
|
if (src == null) {
|
return target;
|
}
|
|
for (T t : src) {
|
target.add(t);
|
}
|
|
return target;
|
}
|
|
/**
|
* 把src中的添加到target
|
*
|
* @param target
|
* @param src
|
* @return
|
*/
|
public static <T> Map<Object, T> mergeMap(Map<Object, T> target, Map<Object, T> src) {
|
|
if (target == null) {
|
return src;
|
}
|
|
if (src == null) {
|
return target;
|
}
|
|
for (Entry<Object, T> t : src.entrySet()) {
|
target.put(t.getKey(), t.getValue());
|
}
|
|
return target;
|
}
|
|
/**
|
* 是否为空
|
*
|
* @param list
|
* @return
|
*/
|
public static <T> boolean isEmpty(List<T> list) {
|
|
if (list == null || list.size() <= 0) {
|
return true;
|
}
|
return false;
|
}
|
|
/**
|
* 是否为空
|
*
|
* @param list
|
* @return
|
*/
|
public static <T> boolean isNotEmpty(List<T> list) {
|
|
return !isEmpty(list);
|
}
|
|
/**
|
* 是否为空
|
*
|
* @param list
|
* @return
|
*/
|
public static <T> boolean isEmpty(Map<String, T> map) {
|
|
if (map == null || map.size() <= 0) {
|
return true;
|
}
|
return false;
|
}
|
|
/**
|
* 是否为空
|
*
|
* @param list
|
* @return
|
*/
|
public static <T> boolean isNotEmpty(Map<String, T> map) {
|
|
return !isEmpty(map);
|
}
|
|
/**
|
* 是否为空
|
*
|
* @param list
|
* @return
|
*/
|
public static boolean isEmpty(Object[] list) {
|
|
if (list == null || list.length <= 0) {
|
return true;
|
}
|
return false;
|
}
|
|
/**
|
* 是否为空
|
*
|
* @param list
|
* @return
|
*/
|
public static boolean isEmptys(JSONArray json) {
|
|
if (json == null || json.size() <= 0) {
|
return true;
|
}
|
return false;
|
}
|
|
/**
|
* 是否为空
|
*
|
* @param list
|
* @return
|
*/
|
public static boolean isNotEmpty(Object[] list) {
|
|
return !isEmpty(list);
|
}
|
|
/**
|
* 拷贝
|
*
|
* @param dest
|
* @param src
|
*/
|
@SuppressWarnings("unchecked")
|
public static <T> List<T> copy(List<? super T> dest, List<? extends T> src) {
|
|
if (dest == null || dest.size() < src.size()) {
|
dest = new ArrayList<Object>(Arrays.asList(new Object[src.size()]));
|
}
|
Collections.copy(dest, src);
|
return (List<T>) dest;
|
}
|
|
/**
|
* 将dest中的包含src中部分删除
|
*
|
* @param dest
|
* @param src
|
* @return
|
*/
|
@SuppressWarnings("unchecked")
|
public static <T> List<T> findExclude(List<? extends T> dest, List<? extends T> src) {
|
|
if (dest == null) {
|
return null;
|
}
|
|
if (src == null) {
|
return (List<T>) dest;
|
}
|
|
List<T> list = new ArrayList<T>();
|
boolean flag = false;
|
for (T destT : dest) {
|
flag = false;
|
for (T srcT : src) {
|
if (srcT.equals(destT)) {
|
flag = true;
|
break;
|
}
|
}
|
if (!flag) {
|
list.add(destT);
|
}
|
}
|
|
return list;
|
}
|
}
|