In den Beispielen in diesem Artikel, Wir werden die vier Lösungen vorstellen, um den Minimal- und Maximalwert in einem Array zu finden:
- Naive Lösung
- Java 8
- Googles Guava Api library
- Die Apache Commons library
Hier ist ein Java-Programm, das den Wert und die Position des kleinsten Werts in einem Array zurückgibt.
public class min_max_array {Laufzeit:
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("\nMindestwert = "+maxVal);
System.out.print("\nMaximaler Wert = "+minVal);
}
}
51 24 19 5 37 76 61 99 101 36Im Beispiel wird zunächst die VariableminVal mit Integer.MAX_VALUE der der größere Wert ist als int nehmen kann. Dies geschieht, um sicherzustellen, dass der Anfangswert nicht versehentlich kleiner ist als der erste Wert im Array.
Minimalwert = 5
Maximalwert = 101
Zweitens durchläuft das Programm das Array und vergleicht jeden Wert mit minVal. Wenn das Element in der Tabelle ist kleiner als minVal Also minVal erhält den Wert dieses Elements.
Schließlich wird der im Array gefundene Mindestwert angezeigt.
Java 8
Mit Java 8 ist es einfach, die größte und kleinste Zahl zu finden. Im ersten Code konvertieren wir ein Array in einen Stream, dann rufen wir die Methode Arrays.stream().max() der ein OptionalInt zurückgibt und den größten gefundenen Wert enthält.
Der zweite Code verwendet IntStream, einen auf int-Primitive spezialisierten Stream, und von hier aus ist es möglich, den intStream.of().max() der ein OptionalInt.
public void max_array_java8 (int[] tab) {
OptionalInt max = Arrays.stream(tab).max();
//or
OptionalInt max = IntStream.of(tab).max();
}
public void min_array_java8 (int[] tab) {
OptionalInt min = Arrays.stream(tab).min();
//or
OptionalInt min = IntStream.of(tab).min();
}
Googles Guava-API
Die Ints-Klasse von Guava bietet zwei MethodenInts.max() und Ints.min() die den größten bzw. kleinsten Wert zurückgeben. Um diese API verwenden zu können, laden Sie sie von der offiziellen Website von Google Guava.
à
public static int max_array_guava (int[] tab) {
int max = Ints.max(tab);
Rückgabe max;
}
public static int min_array_guava (int[] tab) {
int min = Ints.min(tab);
Rücklauf min;
}
Apache Commons
Die NumberUtils-Klasse von Apache Commons bietet Java zusätzliche Funktionen und enthält zwei MethodenNumberUtils.max() und NumberUtils.min() die den größten bzw. kleinsten Wert zurückgeben. Um diese Bibliothek verwenden zu können, laden Sie sie von der offiziellen Website der api Apache Commons.public static int max_array_apache (int[] tab) {Referenzen:
int max = NumberUtils.max(tab);
Rückgabe max;
}
public static int min_array_apache (int[] tab) {
int min = NumberUtils.min(tab);
Rücklauf min;
}
Find Min & Max. in einem Array unter Verwendung von Mindestvergleichen
Commentaires (12)
Connectez-vous pour commenter
Rejoignez la discussion et partagez vos connaissances avec la communauté
Excellent tutoriel ! J'ai enfin compris comment utiliser Apache POI correctement.
Merci Jean ! N'hésitez pas si vous avez des questions.