Java で配列内の最大数を求める

Rupam Yadav 2023年10月12日
  1. 反復的な方法を使用して配列内の最大数を求める
  2. Stream を使用して配列内の最大数を求める
  3. Arrays.sort() を使用して配列の最大数を求める
Java で配列内の最大数を求める

配列には、同様のタイプのデータが含まれています。すでにすべての要素を読み取り、それらに対していくつかの操作を実行できますが、この記事では、Java で配列の最大値を求める方法を説明します。

反復的な方法を使用して配列内の最大数を求める

この方法は、配列から最大数を求める従来の方法です。これには、配列内のすべての要素を通過するために使用されるイテレーターが含まれています。以下に、整数の配列 intArray があります。まず、変数 maxNum を作成し、intArray の最初の要素で初期化します。

配列を受け取り、各反復ですべての要素を返す拡張 for ループを作成します。次に、各要素を 24 の maxNum でチェックし、24 より大きい数値が見つかると、maxNum の 24 をその数値に置き換えます。配列の最後に到達するまで、maxNum の数値を置き換えます。それ以外の場合は、maxNum の既存の値よりも大きな数値は見つかりませんでした。

public class ArrayMax {
  public static void main(String[] args) {
    int[] intArray = {24, 2, 0, 34, 12, 110, 2};

    int maxNum = intArray[0];

    for (int j : intArray) {
      if (j > maxNum)
        maxNum = j;
    }

    System.out.println("Maximum number = " + maxNum);
  }
}

出力:

Maximum number = 110

Stream を使用して配列内の最大数を求める

Java 8 は、いくつかの便利なメソッドを提供する Stream API を導入しました。それらの 1つは、配列を受け取り、シーケンシャルストリームを返す Arrays.stream() メソッドです。この場合、int タイプの配列があり、それをストリームに渡すと、IntStream が返されます。

IntStream 関数には、ストリーム内の最大値を求めるのに役立つメソッド max() が付属しています。ストリームにも空の int 値がある可能性があることを説明する OptionalInt を返します。

最後に、最大数を int として必要とするため、結果を int 型として返す optionalInt.getAsInt() メソッドを使用します。

import java.util.Arrays;
import java.util.OptionalInt;
import java.util.stream.IntStream;

public class ArrayMax {
  public static void main(String[] args) {
    int[] intArray = {24, 2, 0, 34, 12, 11, 2};

    IntStream intStream = Arrays.stream(intArray);
    OptionalInt optionalInt = intStream.max();
    int maxAsInt = optionalInt.getAsInt();

    System.out.println("Maximum number = " + maxAsInt);
  }
}

出力:

Maximum number = 34

Arrays.sort() を使用して配列の最大数を求める

このリストの最後の手法では、配列を昇順で整理する並べ替え方法を使用します。配列を並べ替えるには、関数 Arrays.sort() を使用し、引数として intArray を渡します。

並べ替え操作後の配列がどのようになるかを確認するために、配列を出力します。ここで、配列が並べ替えられ、すべての最大数が左端の位置にあるため、配列の最後の位置にある intArray.length - 1 関数を使用してその位置を取得します。

import java.util.Arrays;

public class ArrayMax {
  public static void main(String[] args) {
    int[] intArray = {24, 340, 0, 34, 12, 10, 20};

    Arrays.sort(intArray);

    System.out.println("intArray after sorting: " + Arrays.toString(intArray));

    int maxNum = intArray[intArray.length - 1];
    System.out.println("Maximum number = " + maxNum);
  }
}

出力:

intArray after sorting: [0, 10, 12, 20, 24, 34, 340]
Maximum number = 340
著者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

関連記事 - Java Array