使用場景: 將一個有大量數據的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); } }