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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn