Javaプログラミング入門講座!Javaに触れてみよう!【初心者向け】
野田竣介
フェルメール株式会社
今回はこのような質問をいただきました。
Stream APIのlimitの使い方教えて!
limitと同じようなメソッドとしてskipが存在します。
そこで今回はlimitに加えてskipについても解説していきます!
ループさせる要素をn個までに制限をする
ループさせる要素を先頭からn個無視する
どちらも数値を渡してあげるだけなので非常に簡単に使えます。
表示の個数を制限する場合によくlimitを使っていました!
まずはlimitもskipも使わないでループさせてみます。
1〜10を順番に表示するだけのサンプルです。
こちらのサンプルにlimitとskipを追加してみます。
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
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
先頭から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とskipを同時に使ってみたいと思います。
先頭から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
以下のように無視、制限したいタイミングでlimit, skip挿入するだけで簡単に使えます。
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);
今回はStream APIのskip、limitを使ってみました。
使い方は簡単で、制限、無視したい数値を渡してあげるだけです。
名前もわかりやすく、感覚的に使えるので使いやすいですね。
面倒なことをしなくても簡単に設定できるので非常に便利です。
機会があれば使ってみてください!