JAVA分组以及JAVA分页

来源:互联网 发布:超级位面淘宝系统 编辑:程序博客网 时间:2024/06/11 11:27

分组:


/**
* List分组处理

* @param target
* @return
*/
public List<GroupContiner> group(List<SysNoneRoleNotifyAdmin> target) {
logger.info("target is size:" + target.size());
List<GroupContiner> result = new ArrayList<GroupContiner>();
for (int i = 0; i < target.size(); i++) {
SysNoneRoleNotifyAdmin sysNoneRoleNotifyAdminTemp = target.get(i);
GroupContiner gc = new GroupContiner();
target.remove(sysNoneRoleNotifyAdminTemp);
i = i-1;
gc.getSysNoneRoleNotifyAdminList().add(sysNoneRoleNotifyAdminTemp);
for (int j = 0; j < target.size();) {
SysNoneRoleNotifyAdmin _sysNoneRoleNotifyAdminObject = target
.get(j);
// 相同,分组,并加入到组容器集合
if (isEquest(sysNoneRoleNotifyAdminTemp,
_sysNoneRoleNotifyAdminObject)) {
gc.getSysNoneRoleNotifyAdminList().add(
_sysNoneRoleNotifyAdminObject);
target.remove(_sysNoneRoleNotifyAdminObject);
} else {
j++;
}
}
result.add(gc);
}
logger.info("result size is:" + result.size());
return result;
}


/**
* 分组条件

* @param sysNoneRoleNotifyAdminTemp
* @param _sysNoneRoleNotifyAdminObject
* @return
*/
private boolean isEquest(SysNoneRoleNotifyAdmin sysNoneRoleNotifyAdminTemp,
SysNoneRoleNotifyAdmin _sysNoneRoleNotifyAdminObject) {
boolean flag = false;
if (sysNoneRoleNotifyAdminTemp.getManageUserId().equals(
_sysNoneRoleNotifyAdminObject.getManageUserId())) {
flag = true;
}
return flag;
}


分页:


public static <T> List<List<T>> splitList(List<T> list, int pageSize) {
// list的大小
int listSize = list.size();
// 页数
int page = (listSize + (pageSize - 1)) / pageSize;
// 创建list数组,用来保存分割后的list
List<List<T>> listArray = new ArrayList<List<T>>();
for (int i = 0; i < page; i++) {
// 按照数组大小遍历,数组每一位放入一个分割后的list
List<T> subList = new ArrayList<T>();
// 遍历待分割的list
for (int j = 0; j < listSize; j++) {
// 当前记录的页码(第几页)
int pageIndex = ((j + 1) + (pageSize - 1)) / pageSize;
// 当前记录的页码等于要放入的页码时
if (pageIndex == (i + 1)) {
// 放入list中的元素到分割后的list(subList)
subList.add(list.get(j));
}
// 当放满一页时退出当前循环
if ((j + 1) == ((j + 1) * pageSize)) {
break;
}
}
// 将分割后的list放入对应的数组的位中
listArray.add(subList);
}
return listArray;
}



0 0
原创粉丝点击