美文网首页
java 数组切分

java 数组切分

作者: 蜡笔广志 | 来源:发表于2019-11-22 15:45 被阅读0次

    之前跑批处理的时候,批量往数据库里插入数据,结果爆了内存溢出,发觉是循环的时候数组过大,因此需要把数据切分下,就此记录下该方法

        public static <T> List<List<T>> partList(List<T> source, int n) {
            if (source == null) {
                return null;
            }
    
            if (n == 0) {
                return null;
            }
            List<List<T>> result = new ArrayList<List<T>>();
    
            int size = source.size();
    
            int remaider = size % n;
    
            int number = size / n;
    
            for (int i = 0; i < number; i++) {
                List<T> value = source.subList(i * n, (i + 1) * n);
                result.add(value);
            }
            if (remaider > 0) {
                List<T> subList = source.subList(size - remaider, size);
                result.add(subList);
            }
    
            return result;
        }
    

    相关文章

      网友评论

          本文标题:java 数组切分

          本文链接:https://www.haomeiwen.com/subject/mjlqwctx.html