Javaの配列の最小値と最大値
繰り返しになりますが、Javaはオブジェクト指向の概念のおかげで事前定義されたメソッドを提供し、プログラミングを容易にしますが、これらのメソッドを自分でプログラミングすることで、少し練習して形を維持するのに役立ちます。メイントピックに戻ると、n 個の要素の配列の最大値と最小値を見つけるには、これまでに見つかった最大/最小の要素と現在の要素を比較しながら、配列全体を最初の要素から最後の要素まで調べる必要があることを知っておく必要があります>><<。 配列の最小値と最大値を見つけるための 4 つのソリューションを紹介します:- 素朴な解決策
- Java 8
- Google の Guava Api ライブラリ
- Apache Commons ライブラリ
配列内の最小値の値と位置を返す Java プログラムです。
public class min_max_array {Runtime:
public static void main(String[] args) {
int maxVal = Integer.MAX_VALUE;
int minVal = Integer.MIN_VALUE;
int array[] = {51, 24, 19, 5, 37, 76, 61, 99, 101, 36};
for (int number:array)
System.out.print(number+" ");
for(int i = 0; i < array.length; i++){
if(array[i] < maxVal)
maxVal = array[i];
if(array[i] > minVal)
minVal = array[i];
}
System.out.print("\n最小値 = "+maxVal);
System.out.print("\n最大値 = "+minVal);
}
}
51 24 19 5 37 76 61 99 101 36この例では、最初に variableminVal と Integer.MAX_VALUE int を取ることができます。これは、初期値が誤って配列の最初の値よりも小さくならないようにするためです。
最小値 = 5
最大値 = 101
次に、プログラムは配列を調べ、各値を minVal です。 テーブルが次より小さい minVal だから minVal この要素の値を受け取ります.
最後に、配列で見つかった最小値が表示されます。
Java 8
Java 8では、最大数と最小数を簡単に見つけることができます。最初のコードでは、配列をストリームに変換し、メソッド Arrays.stream().max() は OptionalInt を返し、見つかった最大値を含む
2 番目のコードでは、int プリミティブに特化したストリームである IntStream を使用しており、ここから intStream.of().max() OptionalInt.
public void max_array_java8 (int[] tab) {
OptionalInt max = Arrays.stream(tab).max();
//または
OptionalInt max = IntStream.of(tab).max();
}
public void min_array_java8 (int[] tab) {
OptionalInt min = Arrays.stream(tab).min();
//または
OptionalInt min = IntStream.of(tab).min();
}
Google の Guava API
Guava の Ints クラスには 2 つのメソッドがありますInts.max() および Ints.min() で、それぞれ最大値と最小値を返します。このAPIを使用するには、Google Guava.
à
public static int max_array_guava (int[] tab) {
int max = Ints.max(tab);
return max;
}
public static int min_array_guava (int[] tab) {
int min = Ints.min(tab);
最小を返す。
}
Apache Commons
Apache commons の NumberUtils クラスは Java に追加機能を提供し、2 つのメソッドNumberUtils.max() および NumberUtils.min() で、それぞれ最大値と最小値を返します。このライブラリを使用するには、api Apache Commons.public static int max_array_apache (int[] tab) {References:
int max = NumberUtils.max(tab);
return max;
}
public static int min_array_apache (int[] tab) {
int min = NumberUtils.min(tab);
最小を返す。
}
最小検索 &最小比較を使用した配列の最大値