zoukankan      html  css  js  c++  java
  • 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); } }
  • 相关阅读:
    解决加密PDF文档无法复制文字的问题
    Linux创建用户时让每个用户家目录中自带说明文档
    Linux基础命令cp之拷贝隐藏文件
    Linux基础命令之getent
    Linux用户和组管理命令-用户创建useradd
    Linux用户和组管理命令-用户删除userdel
    Linux用户和组管理命令-用户属性修改usermod
    Linux用户和组管理命令-切换用户su
    Linux-京西百花山
    tee命令
  • 原文地址:https://www.cnblogs.com/liangxiaojin/p/12462371.html
Copyright © 2011-2022 走看看