package org.jimmy.autosearch2019.test;

import java.util.ArrayList;

public class Test20190328 {

    private static final ArrayList<String> allList = new ArrayList<String>();

    static {
for(int i = 0; i < 1000; i++) {
allList.add("test000000" + i);
}
} /**
* @author ラピスラズリ(Dawn)
* @date 2019年3月28日 下午2:16:57
* @detail
*/
public static void main(String[] args) {
System.out.println("循环方式每次获取10个对象:");
ArrayList<String> list = getAllList(0, 10);
for(int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("循环方式每次获取100个对象:");
list = getAllList(0, 100);
for(int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("循环方式每次获取1000个对象:");
list = getAllList(0, 100);
for(int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("递归方式每次获取10个对象:");
list = new ArrayList<String>();
list = getAllList(0, 10, list);
for(int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("递归方式每次获取100个对象:");
list = new ArrayList<String>();
list = getAllList(0, 100, list);
for(int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("递归方式每次获取1000个对象:");
list = new ArrayList<String>();
list = getAllList(0, 1000, list);
for(int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
} /**
* @author ラピスラズリ(Dawn)
* @date 2019年3月28日 上午11:07:50
* @detail 分段获取集合数据,pageIndex初始值为0,每次pageSize条,循环方式
*/
public static ArrayList<String> getAllList(int pageIndex, int pageSize) {
ArrayList<String> list = new ArrayList<String>();
ArrayList<String> currentList = new ArrayList<String>();
while((currentList = getStrList(pageIndex, pageSize)).size() != 0){
list.addAll(currentList);
pageIndex++;
}
return list;
} /**
* @author ラピスラズリ(Dawn)
* @date 2019年3月28日 下午2:24:52
* @detail 递归方式
*/
public static ArrayList<String> getAllList(int pageIndex, int pageSize, ArrayList<String> list) {
ArrayList<String> currentList = getStrList(pageIndex, pageSize);
if(currentList != null && currentList.size() > 0) {
list.addAll(currentList);
pageIndex++;
return getAllList(pageIndex, pageSize, list);
}else {
return list;
}
} /**
* @author ラピスラズリ(Dawn)
* @date 2019年3月28日 下午2:13:09
* @detail pageIndex初始值为0
*/
public static ArrayList<String> getStrList(int pageIndex, int pageSize) {
ArrayList<String> resultList = new ArrayList<String>();
int beginIndex = pageIndex * pageSize;
int endIndex = (pageIndex + 1) * pageSize - 1;
if(endIndex > allList.size() - 1) {
endIndex = allList.size() - 1;
}
for(int i = beginIndex; i <= endIndex; i++) {
String currentStr = allList.get(i);
resultList.add(currentStr);
}
return resultList;
} }

好了,效果图就不给了.

最新文章

  1. RHEL5.8的NFS配置文件
  2. 控制非模态弹出框(showModelessDialog)唯一且随父页面关闭
  3. 遇到技嘉 Gigabyte UEFI DualBIOS问题
  4. parent,parents和closest
  5. Operator overloading
  6. 3527: [Zjoi2014]力 - BZOJ
  7. Extjs 实现输入数量,实时更改总价
  8. YASKAWA电机控制(1)---接线
  9. Golang在视频直播平台的高性能实践
  10. POJ 1417 True Liars
  11. curl -windows下接口通讯
  12. C#实现多级子目录Zip压缩解压实例
  13. ultragrid
  14. https 学习总结
  15. 雷林鹏分享:C# 异常处理
  16. Windows10怎么架设局域网DNS服务器?
  17. 二十三 Python分布式爬虫打造搜索引擎Scrapy精讲—craw母版l创建自动爬虫文件—以及 scrapy item loader机制
  18. 2017年--10年java大神告诉你开发最常用的百分之二十的技术有哪些?
  19. bzoj1934 Vote 善意的投票 最小割(最大匹配)
  20. 【题解】Bzoj2125最短路

热门文章

  1. Linear Regression_最小二乘(LMS)
  2. UVa 1642 Magical GCD (暴力+数论)
  3. 分析自己遇到的Excel导出报NullpointException问题
  4. Moctf--unset
  5. useradd user 错误解决
  6. day04 TimeZone类
  7. Hdu 4513 吉哥系列故事——完美队形II (manacher变形)
  8. Hdu 1358 Period (KMP 求最小循环节)
  9. Linux下cpu过高问题排查
  10. LVS实现负载均衡