text
1 2

text
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
package com.cyc.usercenter.controller;

import com.cyc.usercenter.domain.User;

import java.util.ArrayList;
import java.util.List;

public class TestController {


   public static void main(String[] args) {

      List<User> listTotal = new ArrayList<>();
      List<User> list = list();
      //总条数
      int listCount = list.size();
      //TODO 设置查询的条数,可根据实际情况查询的量来确定,如果查询的量大,设置的值对应大
      int tag = 100;
      if (listCount > 5000) {
         tag = 200;
      } else if (listCount > 50000) {
         tag = 500;
      }


      int selectCount = 0;
      if (listCount % tag == 0) {
         selectCount = listCount / tag;
      } else {
         selectCount = listCount / tag + 1;
      }

      System.out.println("需要查询次数 = " + selectCount);
      long start = System.currentTimeMillis();

      //执行批量查询操作,selectCount次数
      for (int i = 0; i < selectCount; i++) {
         int index = i * tag;
         int ent = tag * (i + 1);
         if (i == selectCount - 1) {
            ent = listCount;
         }
         List<User> users = list.subList(index, ent);
//         System.out.println("users = " + "次数" + (i + 1) + "----" + users);
         listTotal.addAll(users);
      }

      long b = System.currentTimeMillis() - start;
      System.out.println("执行完查询所需秒数: " + b);
      System.out.println("listTotal = " + listTotal);


   }

   private static List<User> list() {
      List<User> list = new ArrayList<>();
      for (int i = 1; i <= 10000; i++) {
         User u = new User();
         u.setId(i);
         u.setName("张三" + i);
         list.add(u);
      }
      return list;
   }


}
package com.cyc.usercenter.controller;

import com.cyc.usercenter.domain.User;

import java.util.ArrayList;
import java.util.List;

public class TestController {


   public static void main(String[] args) {

      List<User> listTotal = new ArrayList<>();
      List<User> list = list();
      //总条数
      int listCount = list.size();
      //TODO 设置查询的条数,可根据实际情况查询的量来确定,如果查询的量大,设置的值对应大
      int tag = 100;
      if (listCount > 5000) {
         tag = 200;
      } else if (listCount > 50000) {
         tag = 500;
      }


      int selectCount = 0;
      if (listCount % tag == 0) {
         selectCount = listCount / tag;
      } else {
         selectCount = listCount / tag + 1;
      }

      System.out.println("需要查询次数 = " + selectCount);
      long start = System.currentTimeMillis();

      //执行批量查询操作,selectCount次数
      for (int i = 0; i < selectCount; i++) {
         int index = i * tag;
         int ent = tag * (i + 1);
         if (i == selectCount - 1) {
            ent = listCount;
         }
         List<User> users = list.subList(index, ent);
//         System.out.println("users = " + "次数" + (i + 1) + "----" + users);
         listTotal.addAll(users);
      }

      long b = System.currentTimeMillis() - start;
      System.out.println("执行完查询所需秒数: " + b);
      System.out.println("listTotal = " + listTotal);


   }

   private static List<User> list() {
      List<User> list = new ArrayList<>();
      for (int i = 1; i <= 10000; i++) {
         User u = new User();
         u.setId(i);
         u.setName("张三" + i);
         list.add(u);
      }
      return list;
   }


}

text
1 2

原文地址:https://blog.csdn.net/chai1230/article/details/104643832?ops_request_misc=&request_id=7358bddffa5a4b5a842fdc40cf8ff8c5&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~all~koosearch~default-4-104643832-null-null.142^v88^insert_down28v1,239^v2^insert_chatgpt&utm_term=java%E4%BC%98%E5%8C%96