ふりぶろぐ
Web Engineer's Blog
Java

【Java】Stream APIのskip、limitを使ってみた

Java

limitは知ってたけど、skipは知らなかったので使ってみます。

概要

Stream APIのskip、limitはどちらも名前通りの機能ですね。

ループさせる要素の先頭からn個を無視するのがskip、n個までに制限をするのがlimitです。

数値を渡してあげるだけなので非常に簡単です。

表示の個数を制限する場合にlimitはよく使っていました。

使い方

まずはskipもlimitも使わないでループさせてみます。

1〜10を順番に表示するだけのサンプルです。

こちらのサンプルにskipとlimitを入れてみます。

List<String> list = Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10");
        list.stream()
                .forEach(System.out::println);
結果
 1
 2
 3
 4
 5
 6
 7
 8
 9
 10

skip

先頭から2個を無視するようにしてみました。

この場合は3から表示されます。

List<String> list = Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10");
        list.stream()
                .skip(2)
                .forEach(System.out::println);
結果
 3
 4
 5
 6
 7
 8
 9
 10

limit

今度は3個までに制限をするようにしてみました。

この場合は3まで表示されます。

List<String> list = Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10");
        list.stream()
                .limit(3)
                .forEach(System.out::println);
結果
 1
 2
 3

skip & limit

最後にskipとlimitを同時に使ってみたいと思います。

先頭から2個を無視して、3個までに制限します。

この場合は3から5まで表示されます。

List<String> list = Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10");
        list.stream()
                .skip(2)
                .limit(3)
                .forEach(System.out::println);
結果
 3
 4
 5

まとめ

今回はStream APIのskip、limitを使ってみました。

使い方は簡単で、制限したい数値を渡してあげるだけ。

名前もわかりやすく、感覚的に使えるので使いやすいです。

面倒なことをしなくても簡単に個数制限を設けられるので非常に便利です。

機会があれば使ってみてください。

ABOUT ME
りーふ
たまにブログを書いてるWebエンジニア。 サーバーサイドメインでインフラとフロントエンドもたまにやります。 Javaが得意。 Play Frameworkが好き。 本業は迷惑をかけない程度に手を抜くスタイル。 意識高い系は苦手。