DataSet

DataSet是DataRow的集合
提供了常用的集合操作以及针对集合中DataRow的操作
public static DataSet parse(Collection<Object> list)
public static DataSet parseJson(String json)
public static DataSet parseJson(com.fasterxml.jackson.databind.JsonNode json) 

/**
 * 移除每个条目中指定的key
 *
 * @param keys keys
 * @return DataSet
 */
public DataSet remove(String... keys)
public DataSet trim()

/**
 * 从begin开始截断到end,方法执行将改变原DataSet长度
 *
 * @param begin 开始位置
 * @param end   结束位置
 * @return DataSet
 */
public DataSet truncates(int begin, int end) 

/**
 * 从begin开始截断到最后一个
 *
 * @param begin 开始位置
 * @return DataSet
 */
public DataSet truncates(int begin)

/**
 * 从begin开始截断到最后一个并返回其中第一个DataRow
 *
 * @param begin 开始位置
 * @return DataRow
 */
public DataRow truncate(int begin)

/**
 * 从begin开始截断到end位置并返回其中第一个DataRow
 *
 * @param begin 开始位置
 * @param end   结束位置
 * @return DataRow
 */
public DataRow truncate(int begin, int end) 

/**
 * 从begin开始截取到最后一个
 *
 * @param begin 开始位置
 *              如果输入负数则取后n个,如果造成数量不足,则取全部
 * @return DataSet
 */
public DataSet cuts(int begin) 
 
/**
 * 从begin开始截取到end位置,方法执行时会创建新的DataSet并不改变原有set长度
 *
 * @param begin 开始位置
 * @param end   结束位置
 * @return DataSet
 */
public DataSet cuts(int begin, int end)

/**
 * 从begin开始截取到最后一个,并返回其中第一个DataRow
 *
 * @param begin 开始位置
 * @return DataSet
 */
public DataRow cut(int begin)

 /**
 * 从begin开始截取到end位置,并返回其中第一个DataRow,方法执行时会创建新的DataSet并不改变原有set长度
 *
 * @param begin 开始位置
 * @param end   结束位置
 * @return DataSet
 */
public DataRow cut(int begin, int end) 

/**
 * 记录数量
 *
 * @return return
 */
public int size() 

/**
 * 读取一行数据
 *
 * @param index index
 * @return return
 */
public DataRow getRow(int index) 

/**
 * 根据keys去重
 *
 * @param keys keys
 * @return DataSet
 */
public DataSet distinct(String... keys) 

/**
 * 筛选符合条件的集合
 *
 * @param params key1,value1,key2:value2,key3,value3
 *               "NM:zh%","AGE:&gt;20","NM","%zh%"
 * @param begin  begin
 * @param qty    最多筛选多少个 0表示不限制
 * @return return
 */
public DataSet getRows(int begin, int qty, String... params)
public DataSet getRows(String... params)
public DataRow getRow(int begin, int qty, String... params)
public DataRow getRow(String... params)

/**
 * 数字格式化
 *
 * @param format format
 * @param cols   cols
 * @return return
 */
public DataSet formatNumber(String format, String... cols)

/**
 * 日期格式化
 *
 * @param format format
 * @param cols   cols
 * @return return
 */
public DataSet formatDate(String format, String... cols) 

/**
 * 提取符合指定属性值的集合
 *
 * @param begin begin
 * @param end   end
 * @param key   key
 * @param value value
 * @return return
 */
public DataSet filter(int begin, int end, String key, String value)


public BigDecimal sum(int begin, int end, String key)
public BigDecimal sum(String key) 
public BigDecimal avg(int top, String key) 
public BigDecimal avg(String key) 


/**
 * 多列合计
 *
 * @param keys keys
 * @return return
 */
public DataRow sums(String... keys)

/**
 * 多列平均值
 *
 * @param keys keys
 * @return return
 */
public DataRow avgs(String... keys) 

public BigDecimal maxDecimal(int top, String key)
public BigDecimal maxDecimal(String key) 
public int maxInt(int top, String key) 
public int maxInt(String key)
public double maxDouble(int top, String key)
public double maxDouble(String key)
//min类似

/**
 * key对应的value最大的一行
 *
 * @param key key
 * @return return
 */
public DataRow max(String key)

/**
 * 合并key例的值 以connector连接
 *
 * @param key       key
 * @param connector connector
 * @return return v1,v2,v3
 */
public String concat(String key, String connector)

//只取不为null的值
public String concatWithoutNull(String key, String connector)

/**
 * 提取单列值
 *
 * @param key key
 * @return return
 */
public List<Object> fetchValues(String key) 

/**
 * 取单列不重复的值
 *
 * @param key key
 * @return return
 */
public List<String> fetchDistinctValue(String key)
public List<Integer> getInts(String key) throws Exception 
public List<String> getDistinctStrings(String key)
public List<String> getNvlStrings(String key)
public List<String> getStringsWithoutEmpty(String key)
public List<String> getStringsWithoutNull(String key)

/**
 * 抽取指定列生成新的DataSet 新的DataSet只包括指定列的值与分页信息,不包含其他附加信息(如来源表)
 * @param keys keys
 * @return DataSet
 */
public DataSet extract(String ... keys)

/**
 * escape String
 *
 * @param index index
 * @param key   key
 * @return return
 * @throws Exception Exception
 */
public String getEscapeString(int index, String key) throws Exception

/**
 * int
 *
 * @param index index
 * @param key   key
 * @return return
 * @throws Exception Exception
 */
public int getInt(int index, String key) throws Exception 

public int getInt(int index, String key, int def) 

public int getInt(String key) throws Exception 

public int getInt(String key, int def)
public String toJson() 

/**
 * 根据指定列生成map
 *
 * @param key ID,{ID}_{NM}
 * @return return
 */
public Map<String, DataRow> toMap(String key)

/**
 * 转换成对象
 *
 * @param <T>   T
 * @param index index
 * @param clazz clazz
 * @return return
 */
public <T> T entity(int index, Class<T> clazz)

/**
 * 转换成对象集合
 *
 * @param <T>   T
 * @param clazz clazz
 * @return return
 */
public <T> List<T> entity(Class<T> clazz) 

/**
 * 合并
 * @param set DataSet
 * @param keys 根据keys去重
 * @return
 */
public DataSet union(DataSet set, String... keys) 

/**
 * 合并合并不去重
 *
 * @param set set
 * @return return
 */
public DataSet unionAll(DataSet set) 

/**
 * 是否包含这一行
 *
 * @param row  row
 * @param keys keys
 * @return return
 */
public boolean contains(DataRow row, String... keys) 

/**
 * 从items中按相应的key提取数据 存入
 * dispatchItem("children",items, "DEPAT_CD")
 * dispatchItems("children",items, "CD:BASE_CD")
 *
 * @param field     默认"ITEMS" field:默认"ITEMS"
 * @param recursion recursion
 * @param items     items
 * @param keys      keys
 * @return return
 */
public DataSet dispatchItems(String field, boolean recursion, DataSet items, String... keys)
public DataSet dispatchItems(String field, DataSet items, String... keys)
public DataSet dispatchItems(DataSet items, String... keys) 
public DataSet dispatchItems(boolean recursion, String... keys) 
public DataSet dispatchItems(String field, boolean recursion, String... keys)
public DataSet dispatchItem(String field, boolean recursion, DataSet items, String... keys) 
public DataSet dispatchItem(String field, DataSet items, String... keys)
public DataSet dispatchItem(DataSet items, String... keys)
public DataSet dispatchItem(boolean recursion, String... keys)
public DataSet dispatchItem(String field, boolean recursion, String... keys)

/**
 * 根据keys列建立关联,并将关联出来的结果拼接到集合的条目上,如果有重复则覆盖条目
 *
 * @param items 被查询的集合
 * @param keys  关联条件列
 * @return return
 */
public DataSet join(DataSet items, String... keys)

/**
 * 按keys分组
 *
 * @param keys keys
 * @return return
 */
public DataSet group(String... keys) 

/**
 * 多个集合的交集
 *
 * @param distinct 是否根据keys抽取不重复的集合
 * @param sets     集合
 * @param keys     判断依据
 * @return DataSet
 */
public static DataSet intersection(boolean distinct, List<DataSet> sets, String... keys) 
public static DataSet intersection(List<DataSet> sets, String... keys)

/**
 * 交集
 *
 * @param distinct 是否根据keys抽取不重复的集合(根据keys去重)
 * @param set      set
 * @param keys     根据keys列比较是否相等,如果列名不一致"ID:USER_ID",ID表示当前DataSet的列,USER_ID表示参数中DataSet的列
 * @return return
 */
public DataSet intersection(boolean distinct, DataSet set, String... keys) 
public DataSet intersection(DataSet set, String... keys)

/**
 * 补集
 * 在this中,但不在set中
 * this作为超集 set作为子集
 *
 * @param distinct 是否根据keys抽取不重复的集合
 * @param set      set
 * @param keys     keys
 * @return return
 */
public DataSet complement(boolean distinct, DataSet set, String... keys)
public DataSet complement(DataSet set, String... keys)

/**
 * 差集
 * 从当前集合中删除set中存在的row,生成新的DataSet并不修改当前对象
 * this中有 set中没有的
 *
 * @param distinct 是否根据keys抽取不重复的集合
 * @param set      set
 * @param keys     CD,"CD:WORK_CD"
 * @return return
 */
public DataSet difference(boolean distinct, DataSet set, String... keys) 
public DataSet difference(DataSet set, String... keys)

/**
 * 清除指定列全为空的行,如果不指定keys,则清除所有列都为空的行
 *
 * @param keys keys
 * @return DataSet
 */
public DataSet removeEmptyRow(String... keys)

/**
 * 删除rows中的columns列
 *
 * @param columns 检测的列,如果不输入则检测所有列
 * @return DataSet
 */
public DataSet removeColumn(String... columns) 

/**
 * 删除rows中值为空(null|'')的列
 *
 * @param columns 检测的列,如果不输入则检测所有列
 * @return DataSet
 */
public DataSet removeEmptyColumn(String... columns) 

/**
 * 行转列
 *
 * @param pk       唯一标识key(如姓名) pk		唯一标识key(如姓名)
 * @param classKey 分类key(如科目)
 * @param valueKey 取值key(如分数) valueKey	取值key(如分数)
 * @return return
 */
public DataSet pivot(String pk, String classKey, String valueKey) 

/**
 * 排序
 *
 * @param keys keys
 * @return DataSet
 */
public DataSet asc(final String... keys)
public DataSet desc(final String... keys)

/**
 * 替换所有NULL值
 *
 * @param value value
 * @return return
 */
public DataSet replaceNull(String value)

/**
 * 替换所有NULL值
 *
 * @param key   key
 * @param value value
 * @return return
 */
public DataSet replaceNull(String key, String value) 

/**
 * 替换所有空值
 *
 * @param key   key
 * @param value value
 * @return return
 */
public DataSet replaceEmpty(String key, String value)
public DataSet replace(String key, String oldChar, String newChar)

/**
 * 随机取一行
 * @return DataRow
 */
public DataRow random()

/**
 * 随机取qty行
 * @param qty 行数
 * @return DataSet
 */
public DataSet randoms(int qty)

/**
 * 随机取min到max行
 * @param min min
 * @param max max
 * @return DataSet
 */
public DataSet randoms(int min, int max) 

/**
 * 根据正则提取集合
 * @param key key
 * @param regex 正则
 * @param mode 匹配方式
 * @return DataSet
 */
public DataSet regex(String key, String regex, Regular.MATCH_MODE mode) 
public DataSet regex(String key, String regex)

其他文档