Heim >Java >javaLernprogramm >So verwenden Sie die Limit- und Skip-Funktionen von Stream in Java für Stream-Vorgänge

So verwenden Sie die Limit- und Skip-Funktionen von Stream in Java für Stream-Vorgänge

PHPz
PHPzOriginal
2023-06-26 15:55:243017Durchsuche

Die Stream-API wurde in Java 8 eingeführt, was den Betrieb von Sammlungen erheblich vereinfacht. Die Stream-Klasse bietet viele funktionale Methoden zum Bearbeiten von Streams, einschließlich Filtern, Zuordnen, Zusammenführen und mehr. Unter diesen sind Limit und Skip zwei Funktionen, mit denen die Anzahl der Elemente in Stream-Operationen begrenzt wird.

1. Limit-Funktion

Die Limit-Funktion wird verwendet, um die Anzahl der Elemente im Stream zu begrenzen. Sie akzeptiert einen langen Typparameter n, der die Anzahl der Limits darstellt. Nach dem Aufruf der Limit-Funktion wird ein neuer Stream zurückgegeben, der nur die ersten n Elemente im ursprünglichen Stream enthält. Zum Beispiel:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
list.stream().limit(3).forEach(System.out::print);

Das Ausgabeergebnis des obigen Codes ist: 1 2 3. In diesem Beispiel konvertieren wir eine List-Sammlung über die Stream-Methode in einen Stream, verwenden dann die Limit-Methode, um die Elemente im Stream einzuschränken, und geben das Ergebnis schließlich über die forEach-Methode aus.

2. Skip-Funktion

Die Skip-Funktion wird zum Überspringen von Elementen im Stream verwendet. Sie akzeptiert einen langen Typparameter n, der die zu überspringende Anzahl angibt. Nach dem Aufruf der Skip-Funktion wird ein neuer Stream zurückgegeben, der die ersten n Elemente im ursprünglichen Stream überspringt. Zum Beispiel:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
list.stream().skip(2).forEach(System.out::print);

Das Ausgabeergebnis des obigen Codes ist: 3 4 5. In diesem Beispiel konvertieren wir eine List-Sammlung über die Stream-Methode in einen Stream, verwenden dann die Skip-Methode, um die ersten beiden Elemente zu überspringen, und geben das Ergebnis schließlich über die forEach-Methode aus.

3. Verwenden Sie die Limit- und Skip-Funktionen, um Paging zu implementieren.

Verwenden Sie die Limit- und Skip-Funktionen zusammen, um die Paging-Funktion einfach zu implementieren. Angenommen, wir haben eine Liste mit N Elementen und möchten eine Paging-Funktion implementieren, um M Elemente auf jeder Seite anzuzeigen. Wir können es folgendermaßen implementieren:

public class PaginationDemo {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        for (int i = 1; i <= 10; i++) {
            list.add(i);
        }
        int pageSize = 3;
        int pageNum = 1;
        int start = (pageNum - 1) * pageSize;
        int end = pageNum * pageSize;
        List<Integer> result = list.stream().skip(start).limit(end - start).collect(Collectors.toList());
        System.out.println(result);
    }
}

Im obigen Code erstellen wir zunächst eine Liste mit 10 Elementen. Anschließend definieren wir die Anzahl pageSize und die Seitenzahl pageNum, die auf jeder Seite angezeigt werden, und berechnen die Anzahl der Elemente, die am Anfang übersprungen werden müssen, und die Anzahl der Elemente, die am Ende und Anfang gefiltert werden müssen. Schließlich verwenden wir die Funktionen „limit“ und „skip“, um die für die angegebene Seitennummer erforderlichen Elemente aus der Liste herauszufiltern und die Ergebnisse mithilfe der Methode „collect“ in der Liste zu sammeln.

Das Obige ist die Anwendung von Limit- und Skip-Funktionen. Sie können uns dabei helfen, Elemente im Stream einfach einzuschränken und zu überspringen und die Paging-Funktion von Stream-Operationen zu realisieren.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Limit- und Skip-Funktionen von Stream in Java für Stream-Vorgänge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn