把一個list分割成多個小的list


 

在對Oracle數據庫表使用 in() 查詢的時候,in() 中的數據不能超過 1000 條的限制,

這時候我們就要在程序中對數據進行分割,分割成多個小於 1000 條的數據集,進行多次查詢。

下面就是分割的代碼:

   
    public static List<List<String>> groupList(List<String> list) {
        List<List<String>> listGroup = new ArrayList<List<String>>();
        int listSize = list.size();
        //子集合的長度,比如 500
        int toIndex = 500;
        for (int i = 0; i < list.size(); i += 500) {
            if (i + 500 > listSize) {
                toIndex = listSize - i;
            }
            List<String> newList = list.subList(i, i + toIndex);
            listGroup.add(newList);
        }
        return listGroup;
    }
 

 分割完后並不能直接用於sql語句,所以需要轉換一下格式,遍歷一下分割后的list,把list內存儲的

數據拼接成字符串就可以了。


免責聲明!

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



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