java 將一個有大量數據的list集合分成指定大小的list集合


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM