public abstract class ListOpt extends Object
| 限定符和类型 | 类和说明 |
|---|---|
static interface |
ListOpt.ParentChild<T>
判断两个对象是否是父子关系,用于针对树形展示的数据结构进行排序
|
| 限定符和类型 | 方法和说明 |
|---|---|
static <T> List<T> |
arrayToList(T[] arrayObj) |
static <T> void |
changeListItem(List<T> list,
int p1,
int p2)
交换List中两个对象的位置
|
static <T> T[] |
cloneArray(T[] souList) |
static <T> List<T> |
cloneList(List<T> souList) |
static <T> org.apache.commons.lang3.tuple.Triple<List<T>,List<org.apache.commons.lang3.tuple.Pair<T,T>>,List<T>> |
compareTwoList(List<T> oldList,
List<T> newList,
Comparator<T> compare)
对比两个列表,判断哪些需要新增、哪些需要删除、哪些需要更新
|
static <T> T[] |
listToArray(Collection<T> listObj) |
static <T> List<Integer> |
makeJqueryTreeIndex(List<T> list,
ListOpt.ParentChild<? super T> c)
对排序号的树形数组结构 找到JQueryTree要的Indexes
|
static <T> void |
moveListItem(List<T> list,
int item,
int pos)
移动List一个对象到新的位置
|
static List<String> |
removeBlankString(List<String> list)
移除String List中的所有 Blank 对象
|
static String[] |
removeBlankString(String[] list)
移除List中的所有null对象
|
static <T> List<T> |
removeNullItem(List<T> list)
移除List中的所有null对象
|
static <T> T[] |
removeNullItem(T[] list)
移除List中的所有null对象
|
static <T> void |
sortAsTree(List<T> list,
ListOpt.ParentChild<? super T> c)
将数组结构按照树形展示的形式进行排序,将所有孩子元素放到父元素的下面
深度优先的排序
|
static <T> com.alibaba.fastjson.JSONArray |
srotAsTreeAndToJSON(List<T> treeList,
ListOpt.ParentChild<? super T> c,
String childrenPropertyName)
将列表转换为tree结构的json
|
static <T> com.alibaba.fastjson.JSONArray |
srotAsTreeAndToJSON2(List<T> treeList,
ListOpt.ParentChild<? super T> c,
String childrenPropertyName)
将列表转换为tree结构的json
和 srotAsTreeAndToJSON 用不同的算法实现,这个需要额外的空间,用递归实现。
|
static <T> List<TreeNode<T>> |
storedAsTree(List<T> list,
ListOpt.ParentChild<? super T> c)
将数组结构按照树形展示的形式进行排序,将所有孩子元素放到父元素的下面
深度优先的排序
|
static <T> com.alibaba.fastjson.JSONArray |
treeToJSONArray(List<T> treeList,
ListOpt.ParentChild<? super T> c,
String childrenPropertyName)
将TreeList转换为JSONArray
|
static <T> com.alibaba.fastjson.JSONArray |
treeToJSONArray(List<TreeNode<T>> treeList,
String childrenPropertyName)
将TreeList转换为JSONArray
|
public static <T> void changeListItem(List<T> list, int p1, int p2)
T - 泛型类型list - 输入列表p1 - 位置1p2 - 位置2public static <T> void moveListItem(List<T> list, int item, int pos)
T - 泛型类型list - 输入列表item - 位置1pos - 位置2public static <T> void sortAsTree(List<T> list, ListOpt.ParentChild<? super T> c)
T - 泛型类型list - 输入列表c - 对比接口public static <T> List<Integer> makeJqueryTreeIndex(List<T> list, ListOpt.ParentChild<? super T> c)
T - 泛型类型list - 输入列表c - 对比接口public static <T> List<T> removeNullItem(List<T> list)
T - 泛型类型list - 输入列表public static <T> T[] removeNullItem(T[] list)
T - 泛型类型list - 输入数组public static List<String> removeBlankString(List<String> list)
list - 输入字符串列表public static String[] removeBlankString(String[] list)
list - 输入字符串数组public static <T> com.alibaba.fastjson.JSONArray treeToJSONArray(List<T> treeList, ListOpt.ParentChild<? super T> c, String childrenPropertyName)
T - 泛型类型treeList - 必须是已经通过 sortAsTree 排序好的listc - 比较算法,需要实现接口 ListOpt.ParentChild TchildrenPropertyName - 为孩子的 属性名public static <T> com.alibaba.fastjson.JSONArray srotAsTreeAndToJSON(List<T> treeList, ListOpt.ParentChild<? super T> c, String childrenPropertyName)
T - 泛型类型treeList - 待排序的Listc - 比较算法,需要实现接口 ListOpt.ParentChild TchildrenPropertyName - 为孩子的 属性名public static <T> List<TreeNode<T>> storedAsTree(List<T> list, ListOpt.ParentChild<? super T> c)
T - 泛型类型list - 输入数组c - 对比接口public static <T> com.alibaba.fastjson.JSONArray treeToJSONArray(List<TreeNode<T>> treeList, String childrenPropertyName)
T - 泛型类型treeList - 需要排序的对象列表 必须是 ListchildrenPropertyName - 为孩子的 属性名public static <T> com.alibaba.fastjson.JSONArray srotAsTreeAndToJSON2(List<T> treeList, ListOpt.ParentChild<? super T> c, String childrenPropertyName)
T - 泛型类型treeList - 待排序的Listc - 比较算法,需要实现接口 ListOpt.ParentChild TchildrenPropertyName - 为孩子的 属性名public static <T> T[] cloneArray(T[] souList)
public static <T> org.apache.commons.lang3.tuple.Triple<List<T>,List<org.apache.commons.lang3.tuple.Pair<T,T>>,List<T>> compareTwoList(List<T> oldList, List<T> newList, Comparator<T> compare)
T - 泛型类型oldList - 原始listnewList - 新的listcompare - 为对象T的主键排序对比函数,public static <T> T[] listToArray(Collection<T> listObj)
public static <T> List<T> arrayToList(T[] arrayObj)
Copyright © 2017 江苏南大先腾信息产业股份有限公司. All rights reserved.