[Java]stream()で配列(array)の最小値のインデックスを取得するには?

Java

どうも、ちょげ(@chogetarou)です。

stream()を使って配列(array)の最小値のインデックスを取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

stream()を使って配列(array)の最小値のインデックスを取得するには、indexOf()を使います。

まず、 必要なものをインポートします。

import java.util.Arrays;

次に、Arraysからstream()を呼び出し、引数に配列を指定します。

stream()からboxed()、boxed()からtoList()を呼び出します。

そして、toList()からindexOf()を呼び出し、引数に最小値を指定します。

//array=配列
int min = Arrays.stream(array).min().getAsInt(); //配列の最小値を取得

//配列の最小値のインデックスを取得
int minIndex = Arrays.stream(array).boxed().toList().indexOf(min);

上記の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 min = Arrays.stream(numbers).min().getAsInt();
        int minIndex = Arrays.stream(numbers).boxed().toList().indexOf(min);
        
        System.out.println(minIndex);
    }
}
出力:
2

コメント

タイトルとURLをコピーしました