zoukankan      html  css  js  c++  java
  • 将集合分割成多个小集合

    /// <summary>
            /// 将集合进行分割
            /// 当list.count小于180000时,CutData耗时短
            /// list.count大于180000时,Skip((pageIndex-1)*pageSize).Take(pageSize)耗时短
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="list"></param>
            /// <param name="avg"></param>
            /// <returns></returns>
            public static List<List<T>> CutData<T>(List<T> list, int avg = 2000)
            {
                List<List<T>> result = new List<List<T>>();
                if (list.Count<=avg)
                {
                    result.Add(list);
                    return result;
                }
                int length = list.Count;
                List<T> tempList = new List<T>();
                for (int i = 0; i < length; i++)
                {
                    tempList.Add(list[i]);
                    if ((i + 1) % avg == 0)
                    {
                        result.Add(tempList);
                        tempList = new List<T>();
                        continue;
                    }
                    if ((i + 1) == length)
                    {
                        result.Add(tempList);
                        tempList =null;
                    }
                }
                return result;
            }
    

      一直以来,更新数据库时,数量不能太大,需要将一个大的集合分割成多个小的集合,才有了上面的方法

  • 相关阅读:
    8.24
    8.23
    今日拔牙牙疼暂时不评论了,明天展示的时候老师也会给出建议
    8.22
    8.21
    8.20
    8.19随笔
    助教培训第四次作业
    助教培训第三次作业-墨刀的练习
    同时安装多个jdk设置及切换
  • 原文地址:https://www.cnblogs.com/qidakang/p/12664687.html
Copyright © 2011-2022 走看看