La colección List se divide en varios conjuntos de longitud fija

Cuando el proyecto se encuentra con este tipo de escenario, es necesario insertar un objeto de colección List grande en la base de datos en lotes. Para mejorar la eficiencia del almacenamiento, se adopta un método de corte para dividir una colección grande en múltiples colecciones de tamaño fijo. Divídalo varias veces, guarde estas colecciones en lotes y envíelas a la biblioteca. El programador aún mira el código directamente. El código es el siguiente:
la clase Util principal del paquete

public class ChoppedUtil {
    
    

//第一个参数表示要切割的List集合,第二个参数表示分割后的集合大小
    public static <T> List<List<T>> chopped(List<T> list, final int L) {
    
    
        List<List<T>> parts = new ArrayList<List<T>>();
        final int N = list.size();
        for (int i = 0; i < N; i += L) {
    
    
            parts.add(new ArrayList<T>(
                    list.subList(i, Math.min(N, i + L)))
            );
        }
        return parts;
    }
}

Cómo utilizar:

List<Student> list = new ArrarList<>();
list.add(new Student());
list.add(new Student());
list.add(new Student());
...........
 List<List<Student>> choppedList = ChoppedUtil.chopped(list ,100);
           for (List<Student> subList : choppedList) {
    
    
                studentDao.save(subList);
            }

Supongo que te gusta

Origin blog.csdn.net/wujian_csdn_csdn/article/details/105657073
Recomendado
Clasificación