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

java 对ArrayList进行分页实例代码

java pagination pour ArrayList

résumé

l'interaction entre systèmes est généralement effectuée sous forme d'interface. Supposons que le système B propose une interface de recherche en lot, limitant à chaque fois la capacité de recherche à50 données, tandis que nous devons effectivement rechercher500 données, à ce moment-là, vous pouvez effectuer500 données pour effectuer des opérations par lots, divisées en10l'appel de l'interface de lot du système B.

si l'interface de recherche du système B utilise List comme paramètre d'entrée, vous pouvez utiliser la méthode subList d'ArrayList pour traiter les appels en lots.

code

définition de la méthode sublist:

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

il suffit de calculer précisément fromIndex et toIndex.

préparation des données

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

algorithme de pagination

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});
    //Nombre total d'enregistrements
    Integer totalCount = datas.size();
    //Diviser en combien de fois traiter
    Integer requestCount = totalCount / PAGE_SIZE;
    for (int i = 0; i <= requestCount; i++) {
      Integer fromIndex = i * PAGE_SIZE;
      //Si le nombre total est inférieur à PAGE_SIZE, pour éviter les dépassements de tableau, toIndex utilise directement totalCount
      int toIndex = Math.min(totalCount, (i + 1) * PAGE_SIZE);
      List<Long> subList = datas.subList(fromIndex, toIndex);
      System.out.println(subList);
      //Lorsque le nombre total est inférieur à une page ou égal à une page, il suffit de traiter une fois pour quitter la boucle for
      if (toIndex == totalCount) {
        break;
      }
    }
  }
}

Scénario de test

1、Nombre total insuffisant pour une page
2、Nombre total égal à une page
3、Nombre total supérieur à une page

Les trois cas ci-dessus peuvent passer normalement.

Merci de lire, j'espère que cela peut aider tout le monde, merci pour le soutien à ce site !