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 List mapToList(Map map) { if (map == null || map.size() < 1) { return null; } List result = new ArrayList(); for (Entry entry : map.entrySet()) { result.add(entry.getValue()); } return result; } /** * 将list转为set,注意:有肯存在覆盖情况 * * @param list * @return */ public static Set listToSet(List list) { if (list == null || list.size() < 1) { return null; } Set result = new HashSet(); for (T t : list) { result.add(t); } return result; } /** * 把src中的添加到target * * @param target * @param src * @return */ public static Set mergeSet(Set target, Set 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 List mergeList(List target, List 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 Map mergeMap(Map target, Map src) { if (target == null) { return src; } if (src == null) { return target; } for (Entry t : src.entrySet()) { target.put(t.getKey(), t.getValue()); } return target; } /** * 是否为空 * * @param list * @return */ public static boolean isEmpty(List list) { if (list == null || list.size() <= 0) { return true; } return false; } /** * 是否为空 * * @param list * @return */ public static boolean isNotEmpty(List list) { return !isEmpty(list); } /** * 是否为空 * * @param list * @return */ public static boolean isEmpty(Map map) { if (map == null || map.size() <= 0) { return true; } return false; } /** * 是否为空 * * @param list * @return */ public static boolean isNotEmpty(Map 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 List copy(List dest, List src) { if (dest == null || dest.size() < src.size()) { dest = new ArrayList(Arrays.asList(new Object[src.size()])); } Collections.copy(dest, src); return (List) dest; } /** * 将dest中的包含src中部分删除 * * @param dest * @param src * @return */ @SuppressWarnings("unchecked") public static List findExclude(List dest, List src) { if (dest == null) { return null; } if (src == null) { return (List) dest; } List list = new ArrayList(); 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; } }