どうも、ちょげ(@chogetarou)です。
stream()を使って配列(array)の最大値のインデックスを取得する方法を紹介します。
方法

stream()を使って配列(array)の最大値のインデックスを取得するには、indexOf()を使います。
まず、 必要なものをインポートします。
import java.util.Arrays;
次に、Arraysからstream()を呼び出し、引数に配列を指定します。
stream()からboxed()、boxed()からtoList()を呼び出します。
そして、toList()からindexOf()を呼び出し、引数に最大値を指定します。
//array=配列
int max = Arrays.stream(array).max().getAsInt(); //配列の最大値を取得
int maxIndex = Arrays.stream(array).boxed().toList().indexOf(max);
上記のindexOf()は、配列(array)の最大値のインデックスを返します。
使用例
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws Exception {
int[] numbers = { 3, 5, 0, 13, 9, 2 };
int max = Arrays.stream(numbers).max().getAsInt();
int maxIndex = Arrays.stream(numbers).boxed().toList().indexOf(max);
System.out.println(maxIndex);
}
}
出力:
3
コメント