Java LIST做批量分組切割


對Java LIST做批量分組切割,方便數據進行多線程處理或者其他處理

方法1:

//按每500個一組分割
public static void main(String[] args) {
    int MAX_SEND = 500;
    List<Integer> list = new ArrayList<>();
    for(int i=0;i<1000;i++){
        list.add(i);
    }
    int limit = (list.size() + MAX_SEND - 1) / MAX_SEND;
    List<List<Integer>> mglist = new ArrayList<>();
    Stream.iterate(0, n -> n + 1).limit(limit).forEach(i -> {
        mglist.add(list.stream().skip(i * MAX_SEND).limit(MAX_SEND).collect(Collectors.toList()));
    });
    List<List<Integer>> splitList = Stream.iterate(0, n -> n + 1).limit(limit).parallel().map(a -> list.stream().skip(a * MAX_SEND).limit(MAX_SEND).parallel().collect(Collectors.toList())).collect(Collectors.toList());
    for(List<Integer> list1:splitList){
        System.out.println("---------------------------------------------");
        System.out.println(JSON.toJSONString(list1));
    }
}

 

方法2 :直接使用公共方法操作

        List<List<Map<String,Object>>> lists = ListUtils.partition(editList,1000);
        for(List<Map<String,Object>> sublist: lists){
            //todo sublist
        }

 

 

方法3:

 


免責聲明!

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



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