どうも、ちょげ(@chogetarou)です。
stream()で配列(Array)の最後からN個の要素を取得する方法を紹介します。
方法

stream()で配列(Array)の末尾からN個の要素を取得するには、skip()を使います。
まず、Arraysからstream()を呼び出します。
Arrays.stream()の引数に配列を指定します。
次に、stream()からskip()を呼び出します。
skip()の引数に、配列のlengthプロパティを取得する要素数で引いた値を指定します。
そして、skip()からtoArray()を呼び出します。
//N=取得する要素数
T[] lastN = Arrays.stream(array).skip(array.length - N).toArray();
上記のtoArray()は、stream()の引数に指定した配列の末尾からN個の要素を取得します。
使用例
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
int[] numbers = new int[]{ 1, 2, 3, 4, 5, 6 };
int size = numbers.length;
int n = 3;
int[] lastN = Arrays.stream(numbers).skip(size - n).toArray();
for (int i : lastN) {
System.out.print(i + ",");
}
}
}
出力:
3,4,5,6,
コメント