Heim >Java >javaLernprogramm >Was ist der effizienteste Weg, die Minimal- und Maximalwerte in einem Java-Array zu finden?
Suche nach einem optimierten Ansatz zum Finden von Minimal- und Maximalwerten in einem Array
Die Aufgabe, die Minimal- und Maximalwerte in einem Array zu identifizieren, scheint wie eine einfache Übung, wie das bereitgestellte Code-Snippet zeigt:
// 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; }
Es stellt sich jedoch eine Frage: Gibt es in bestehenden Java-Bibliotheken bereits einen effizienteren Ansatz?
Nutzung von Commons Lang und Collections
Wir stellen die Min/Max-Methoden von Commons Langs ArrayUtils and Collections vor, eine praktische Lösung Lösung entsteht:
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)); } }
Dieser Ansatz nutzt die Vielseitigkeit von Arrays.asList(), um das vorhandene Array zu umschließen, Dadurch können Collections.min() und Collections.max() mühelos die Minimal- bzw. Maximalwerte ermitteln.
Effizienzüberlegungen
Es ist erwähnenswert, dass Arrays. asList() umschließt das Array, ohne seine Elemente zu kopieren, wodurch die Speichereffizienz erhalten bleibt. Daher eignet sich dieser Ansatz für Szenarien, in denen sowohl der Speicherverbrauch als auch die Leistung von Bedeutung sind.
Das obige ist der detaillierte Inhalt vonWas ist der effizienteste Weg, die Minimal- und Maximalwerte in einem Java-Array zu finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!