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; } }
好了,效果图就不给了.