当前位置: 代码迷 >> 综合 >> List工具类
  详细解决方案

List工具类

热度:53   发布时间:2024-02-23 10:40:50.0
public class ListUtils {public static boolean isNull(List<?> list) {if (list == null || list.size() < 1) {return true;}return false;}public static boolean isNotNull(List<?> list) {return !isNull(list);}/*** List转换String* * @param list*            :需要转换的List* @param sep*            分隔符* @return String转换后的字符串*/public static String listToString(List<?> list, String sep) {StringBuilder sb = new StringBuilder();for (int i = 0; i < list.size(); i++) {if (list.get(i) == null || list.get(i) == "") {continue;}sb.append(list.get(i));sb.append(sep);}return sb.toString().substring(0, sb.toString().length() - 1);}/*** 根据对象里面的一个属性,将list中的对象分类* * @param list* @param field* @return* @throws Exception*/public static <T> Map<String, List<T>> getClassify(List<T> list, String field) throws Exception {Map<String, List<T>> map = new HashMap<String, List<T>>();Method getMethod = ReflectUtils.getGetMethod(list.get(0).getClass(), field);for (T object : list) {String key = getMethod.invoke(object).toString();// pointNo对应的多个流水数据的fvalue值,eg: key:1,value:[12.1,22.3]if (map.containsKey(key)) {List<T> l = map.get(key);l.add(object);} else {List<T> l = new ArrayList<T>();l.add(object);map.put(key, l);}}return map;}/*** 将list做二级分类* * @param list* @param field1* @param field2* @return* @throws Exception*/public static <T> Map<String, Map<String, List<T>>> getClassify(List<T> list, String field1, String field2)throws Exception {Map<String, Map<String, List<T>>> map = new HashMap<String, Map<String, List<T>>>();Method getMethod1 = ReflectUtils.getGetMethod(list.get(0).getClass(), field1);Method getMethod2 = ReflectUtils.getGetMethod(list.get(0).getClass(), field2);for (T object : list) {Map<String, List<T>> map2 = null;String key1 = getMethod1.invoke(object).toString();if (map.containsKey(key1)) {map2 = map.get(key1);} else {map2 = new HashMap<String, List<T>>();map.put(key1, map2);}List<T> l = null;String key2 = getMethod2.invoke(object).toString();if (map2.containsKey(key2)) {l = map2.get(key2);} else {l = new ArrayList<T>();map2.put(key2, l);}l.add(object);}return map;}}

 

  相关解决方案