使用场景: 将一个有大量数据的list集合分成指定大小的list集合
代public class MySubTUtil {
/** * 第一种方法: * 将list拆分成多给指定的大小的list */ public static List<List<String>> subList(List<String> target, int size) { List<List<String>> listArr = new ArrayList<List<String>>(); //获取被拆分的数组个数 int arrSize = target.size()%size==0?target.size()/size:target.size()/size+1; for(int i=0;i<arrSize;i++) { List<String> sub = new ArrayList<String>(); //把指定索引数据放入到list中 for(int j=i*size;j<=size*(i+1)-1;j++) { if(j<=target.size()-1) { sub.add(target.get(j)); } } listArr.add(sub); } return listArr; } /** * 第二种方法 * 将list拆分成多给指定的大小的list */ public static List<List<String>> subList2(List<String> target,int num) { List<List<String>> listArr = new ArrayList<List<String>>(); //获取被拆分的数组个数 if(target.size() > num){ int number = target.size() / num; for (int i = 1; i <=number; i++) { List<String> subList = target.subList(num*(i-1), num*i); listArr.add(subList); } List<String> subList = target.subList(num*number, target.size()); listArr.add(subList); } return listArr; } public static void main(String[] args) { List<String> sub = new ArrayList<String>(); sub.add("wwetwtwt"); sub.add("twtwtwtw");
sub.add("wwetwtwt");
sub.add("twtwtwtw");
sub.add("twtwtwtw");
sub.add("twtwtwtw");
sub.add("twtwtwtw");
List<List<String>> lists = subList(sub,4); List<String> lastGrounplist = lists.get(lists.size()-1); String lastOpenid = lastGrounplist.get(lastGrounplist.size()-1); System.out.println(lastOpenid);//获取到最后一组的最后一个元素 System.out.println(lists); } }