zoukankan      html  css  js  c++  java
  • 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:

  • 相关阅读:
    五分钟上手Markdown
    css中居中方法小结
    事务和同步锁
    插入排序
    插入排序
    交换排序
    eclipse 常用快捷键
    交换排序
    二叉搜索树(BST)
    二叉树遍历以及根据前序遍历序列反向生成二叉树
  • 原文地址:https://www.cnblogs.com/lewisat/p/14523325.html
Copyright © 2011-2022 走看看