ArrayListの要素の中で最大値(max)と最小値(min)を見つける方法を紹介します。
たとえば、arrという配列がある場合、この配列の要素のうち最大値は50、最小値は13です。
arr = [50, 22, 33, 13, 25]
min = 13
max = 501. Collections.max(), min() で最大、最小値を探す
Collections.max(), Collections.min() は、引数として渡されたリストの要素の中で最大、最小値を見つけて返します。
最も簡単な方法でこれを見つけることができます。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class Example {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>(
                Arrays.asList(50, 22, 33, 13, 25));
        int min = Collections.min(list);
        int max = Collections.max(list);
        System.out.println("min: " + min);
        System.out.println("max: " + max);
    }
}Output:
min: 13
max: 502. Collections.sort() で最大、最小値を見つける
最大値、最小値の検索と並べ替えも必要な場合は、 Collections.sort() を利用できます。
sort() はリストを昇順にソートしますが、index 0 の要素が最小値になり、最後の index の要素が最大値になります。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class Example1 {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>(
                Arrays.asList(50, 22, 33, 13, 25));
        Collections.sort(list);
        int min = list.get(0);
        int max = list.get(list.size() - 1);
        System.out.println("min: " + min);
        System.out.println("max: " + max);
    }
}Output:
min: 13
max: 503. IntSummaryStatisticsで最大、最小値を見つける
IntSummaryStatisticsは、Integer Streamのデータの最大、最小、合計、平均などに関する情報を持つクラスです。
次のようにStreamを使用してIntSummaryStatisticsオブジェクトを作成し、ここで最大値と最小値を取得できます。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.IntSummaryStatistics;
public class Example1 {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>(
                Arrays.asList(50, 22, 33, 13, 25));
        IntSummaryStatistics stats = list.stream()
                .mapToInt(Integer::intValue)
                .summaryStatistics();
        System.out.println("sum: " + stats.getSum());
        System.out.println("average: " + stats.getAverage());
        System.out.println("min: " + stats.getMin());
        System.out.println("max: " + stats.getMax());
    }
}Output:
sum: 143
average: 28.6
min: 13
max: 50Related Posts
- Java - AtomicReference使用方法
 - Java - CountDownLatchを使用する方法、および例
 - Java - ScheduledThreadPoolExecutor使用方法
 - Java - SummaryStatisticsの使用方法(count、min、max、average)
 - Java8 - 関数型インタフェース (Functional Interface) について
 - Java - String配列をint配列に変換する
 - Java - ArrayList要素の値を変更する方法、replaceAll()
 - Java - 2つのリストが同じかどうかを比較
 - Java - 配列から特定のIndex要素を削除する3つの方法
 - Java - HashMapソート、4つの方法
 - Java - 文字列を配列に変換する方法
 - Java - ArrayListが空であることを確認する3つの方法
 - Java - ArrayListの巡回、4つの方法
 - Java - ArrayListの最大値、最小 値を見つける
 - Java - ArrayListの合計、平均値の計算
 - Java - HashMap巡回、3つの方法
 - Java - do whileとwhileの違い
 - Java - Lambda式と関数型インタフェース
 - Java - List empty(null)チェック、3つの方法
 - Java - ArrayListの初期化、4つの方法
 - Java - Stream.reduce()の使い方と例
 - Java - 2つのマップを結合する(merge、putAll)
 - Java - java.util.Dateをjava.sql.Dateに変換する
 - Java - ArrayListをStringに変換する
 - Java - ClassNotFoundExceptionの発生原因と解決策
 - Java - 非静的メソッドは静的コンテキストから参照できません
 - Java - NoSuchMethodErrorの原因と解決策
 - Java - JSONライブラリを使用する方法(JSONObject、JSONArray)
 - Java - byte[]配列をFileに保存
 - Java - byte[]の配列をStringに変換
 - Java - ファイルのアクセス権を確認し、変更
 - Java - 一時フォルダ(Temp directory)パスを取得する
 - Javaでシェルスクリプトを実行
 - Java - Streamを配列に変換する
 - Java - リスト重複排除、2つの方法