您的位置:首页 > 编程语言 > Java开发

关于Java中List对象的分页思想,按10个或者n个数对list进行分组

2015-12-11 20:36 501 查看
try {
List<String> timelist = DateUtils.getDateListBySETime("2015-08-01", "2015-11-30");
if(timelist!=null&&timelist.size()>0){
int SIZE = 10;
int page = (timelist.size() + SIZE - 1)/SIZE;
List<String> newtimelist=null;
for(int i = 0;i < page;i++) {
newtimelist=new ArrayList<String>();
if(i==page-1){
newtimelist=timelist.subList(i*SIZE, timelist.size());
}else {
newtimelist=timelist.subList(i*SIZE, i*SIZE+SIZE);
}
//					markToDBLineByDate(timelist.get(0),timelist.get(timelist.size()-1),"1");
System.out.println("~~~时间:"+newtimelist.get(0)+"~~~~~~~结束时间:"+newtimelist.get(newtimelist.size()-1));
}
}
} catch (Exception e) {
e.printStackTrace();
}

/**
* 根据开始时间和结束时间把时间集合输出
* @param startTime
* @param endTime
* @return
* @throws Exception
*/
public static List<String> getDateListBySETime(String startTime, String endTime) throws Exception {
if(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)){
//格式转换
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
//开始日期
Date sDate = sf.parse(startTime);
//结束日期
Date eDate = sf.parse(endTime);

List<String> list = new ArrayList<String>();
//首先加入第一项
list.add(startTime);
//当开始时间小于等于结束时间的时候
while(sDate.getTime()<eDate.getTime()){
//开始时间+1天
Calendar sc = Calendar.getInstance();
sc.setTime(sDate);
sc.add(sc.DAY_OF_MONTH,+1);
//赋给开始时间
sDate = sc.getTime();
//赋给集合
list.add(sf.format(sDate));
}

return list;
}
return null;
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: