关于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; }
相关文章推荐
- java日志——基本日志+高级日志
- Mybatis 二级缓存
- java Socket双向交互获取输入信息
- java学习笔记之vector的排序
- 牛客网练习知识点笔记——Java基础
- java 中缀转后缀(逆波兰)
- 利用eclipse+jdk1.8搭建Java开发环境(超详细的)
- ACM迷宫问题java描述
- Struts2学习——(十)Struts2标签IV
- JAVA性能优化之设计模式
- Java Web 项目获取运行时路径 classpath
- 3sum leetcode
- Exception in thread "main" java.lang.IncompatibleClassChangeError: net/sf/cglib/core/DebuggingClassW
- java断言——Assertion
- java学习笔记之对象的排序
- java多线程学习笔记
- Java字符编码根本原理
- Java 学习第一周
- 【Java】Java中的接口问题
- java跳出指定循环