java List分批處理


java List分批處理,例如對List中的數據進行批量插入。

方法一:

 1 /**
 2  * ClassName:Test List分批處理
 3  * @author Joe
 4  * @version
 5  * @since JDK 1.8
 6  */
 7 public class Test {
 8 
 9     public static void main(String[] args) throws InterruptedException {
10         // 計數器
11         int count = 1;
12 
13         List<String> list = new ArrayList<String>();
14         // 填充List
15         for(int i = 0; i<10003; i ++){
16             list.add(i + "");
17         }
18         // 臨時List
19         List<String> tempList = new ArrayList<String>();
20 
21         for (String s : list) {
22             tempList.add(s);
23             // 分 1000條 執行 批量insert
24             if (count == 1000) {
25                 // 執行 insert 操作
26                 System.out.println("insert-1-" + tempList);
27                 // 重新計數
28                 count = 1;
29                 // 清空list,重新塞數據
30                 tempList.clear();
31             } else {
32                 count++;
33             }
34         }
35         
36         // 掃尾
37         if (count > 0) {
38             // 執行 insert 操作
39             System.out.println("insert-2-" + tempList);
40             // 重新計數
41             count = 1;
42             // 清空list,重新塞數據
43             tempList.clear();
44         }
45     }
46 }

方法二:

 1 /** 
 2  * ClassName:Test2  List分批處理
 3  * @author 原文地址:http://blog.csdn.net/lxxc11/article/details/52817817
 4  * @version
 5  * @since JDK 1.8
 6  */
 7 public class Test2 {
 8 
 9     public static void main(String[] args) {
10         // 1.總記錄數
11         List<String> oldList = new ArrayList<String>();
12         for (int i = 0; i < 10003; i++) {
13             oldList.add(i + "");
14         }
15 
16         // 2.分頁數據信息
17         int totalSize = oldList.size(); // 總記錄數
18         int pageSize = 1000; // 每頁N條
19         int totalPage = totalSize / pageSize; // 共N頁
20 
21         if (totalSize % pageSize != 0) {
22             totalPage += 1;
23             if (totalSize < pageSize) {
24                 pageSize = oldList.size();
25             }
26         }
27         System.out.println("循環保存的次數:" + totalPage);    // 循環多少次
28 
29         // 臨時List
30         List<String> temList = null;
31         for (int pageNum = 1; pageNum < totalPage + 1; pageNum++) {
32             int starNum = (pageNum - 1) * pageSize;
33             int endNum = pageNum * pageSize > totalSize ? (totalSize) : pageNum * pageSize;
34             System.out.println("起始:" + starNum + "-" + endNum);
35             temList = oldList.subList(starNum, endNum);
36             System.out.println("第" + pageNum + "批,執行insert:" + temList);
37         }
38     }
39 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM