配列内の最小値と最大値を見つけるための最適化されたアプローチを求める
配列内の最小値と最大値を特定するタスクは次のようになります。提供されたコードで例示されているような簡単な演習のようなものスニペット:
// Sample function to find maximum value in an array of chars private static int maxValue(char[] chars) { int max = chars[0]; for (int ktr = 0; ktr < chars.length; ktr++) { if (chars[ktr] > max) { max = chars[ktr]; } } return max; }
しかし、既存の Java ライブラリですでに利用可能な、より効率的なアプローチはあるのでしょうか?
Commons Lang とコレクションの活用
便利なソリューションである Commons Lang の ArrayUtils と Collections の min/max メソッドの紹介merges:
import java.util.Arrays; import java.util.Collections; import org.apache.commons.lang.ArrayUtils; public class MinMaxValue { public static void main(String[] args) { char[] a = {'3', '5', '1', '4', '2'}; List b = Arrays.asList(ArrayUtils.toObject(a)); System.out.println(Collections.min(b)); System.out.println(Collections.max(b)); } }
このアプローチでは、Arrays.asList() の多用途性を利用して既存の配列をラップし、Collections.min() と Collections.max() がそれぞれ最小値と最大値を簡単に見つけることができるようにします。 .
効率に関する考慮事項
価値があるArrays.asList() は要素をコピーせずに配列をラップし、メモリ効率を維持することに注意してください。したがって、このアプローチは、メモリ消費とパフォーマンスの両方が懸念されるシナリオに適しています。
以上がJava 配列の最小値と最大値を見つける最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。