English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Ejemplo de código de paginación de ArrayList en java

java realiza paginación en ArrayList

resumen

la interacción entre sistemas, generalmente se utiliza la forma de interfaz. Supongamos que el sistema B proporciona una interfaz de consulta por lotes, que limita que solo se pueda consultar50 de datos, mientras que en realidad necesitamos consultar500 de datos, en este momento se puede hacer lo siguiente500 de datos para realizar operaciones por lotes, dividiendo10esta llamada al interfaz de lote del sistema B.

si la interfaz de consulta del sistema B utiliza List como parámetro de entrada, para implementar la llamada por lotes, se puede utilizar el método subList de ArrayList para manejar.

código

definición del método sublist:

  List<E> subList(int fromIndex, int toIndex);

sólo hay que calcular correctamente fromIndex y toIndex.

preparación de datos

public class TestArrayList {}}
  public static void main(String[] args) {
    List<Long> datas = Arrays.asList(new Long [] {1L,2L,3L,4L,5L,6L,7L});
  }
}

algoritmo de paginación

import java.util.Arrays;
import java.util.List;
public class TestArrayList {}}
  private static final Integer PAGE_SIZE = 3;
  public static void main(String[] args) {
    List<Long> datas = Arrays.asList(new Long [] {1L,2L,3L,4L,5L,6L,7L,8L});
    //Total de registros
    Integer totalCount = datas.size();
    //分多少次处理
    Integer requestCount = totalCount / PAGE_SIZE;
    for (int i = 0; i <= requestCount; i++) {
      Integer fromIndex = i * PAGE_SIZE;
      //Si el total es menor que PAGE_SIZE, para evitar la desbordamiento del array, toIndex se usa directamente totalCount
      int toIndex = Math.min(totalCount, (i + 1) * PAGE_SIZE);
      List<Long> subList = datas.subList(fromIndex, toIndex);
      System.out.println(subList);
      //Cuando el total es menos de una página o justo igual a una página, solo es necesario procesar una vez para salir del bucle for
      if (toIndex == totalCount) {
        break;
      }
    }
  }
}

Escenario de prueba

1、总数不足一页
2、总数刚好等于一页
3、总数多余一页

Los tres casos anteriores pueden pasar con normalidad.

Gracias por leer, espero que esto pueda ayudar a todos, gracias por el apoyo a nuestro sitio!

Te gustará