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

Java Beispielcode für die Paginierung von ArrayList

java führt die Seitenverteilung von ArrayList aus

Übersicht

Interaktionen zwischen Systemen sind in der Regel in Form von Schnittstellen. Angenommen, das System B bietet einen Batch-Abfrage-Schnittstelle, die beschränkt ist auf die Möglichkeit,50 Daten, während wir tatsächlich die500 Daten, zu diesem Zeitpunkt können diese500 Daten durch die Batch-Operationen zu teilen,10mal den Batch-Interface des Systems B aufgerufen wird.

Wenn die Abfrage-Schnittstelle des Systems B List als Eingangsparameter verwendet, kann die Methode subList von ArrayList verwendet werden, um die Batch-Aufrufe zu verarbeiten.

Code

Definition der sublist-Methode:

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

Es genügt, die Werte von fromIndex und toIndex genau zu berechnen.

Datenvorbereitung

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

Seitenverteilungsalgorithmus

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});
    //Gesamtzahl der Aufzeichnungen
    Integer totalCount = datas.size();
    //Wie oft soll bearbeitet werden
    Integer requestCount = totalCount / PAGE_SIZE;
    for (int i = 0; i <= requestCount; i++) {
      Integer fromIndex = i * PAGE_SIZE;
      //Wenn die Gesamtzahl weniger als PAGE_SIZE beträgt, wird um die Array-Überschreitung zu vermeiden, toIndex direkt mit totalCount verwendet
      int toIndex = Math.min(totalCount, (i + 1) * PAGE_SIZE);
      List<Long> subList = datas.subList(fromIndex, toIndex);
      System.out.println(subList);
      //Wenn die Gesamtzahl weniger als eine Seite oder genau eine Seite beträgt, kann der for-Zyklus nach einer Verarbeitung verlassen werden
      if (toIndex == totalCount) {
        break;
      }
    }
  }
}

Test-Szenario

1、Gesamtzahl weniger als eine Seite
2、Gesamtzahl genau eine Seite
3、Gesamtzahl mehr als eine Seite

Die drei obigen Fälle können alle normal funktionieren.

Vielen Dank für das Lesen, ich hoffe, es hilft Ihnen, und danke für Ihre Unterstützung dieser Website!

Gefällt mir