Maison >Java >javaDidacticiel >Quel est le moyen le plus efficace de rechercher les valeurs minimales et maximales dans un tableau Java ?

Quel est le moyen le plus efficace de rechercher les valeurs minimales et maximales dans un tableau Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-11 19:09:121017parcourir

What's the Most Efficient Way to Find the Minimum and Maximum Values in a Java Array?

Recherche d'une approche optimisée pour trouver les valeurs minimales et maximales dans un tableau

La tâche d'identifier les valeurs minimales et maximales dans un tableau semble comme un exercice simple, comme l'illustre l'extrait de code fourni :

// 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;
}

Cependant, une question se pose : existe-t-il une approche plus efficace déjà disponible dans les bibliothèques Java existantes ?

Exploiter Commons Lang et Collections

En présentant les méthodes min/max de Commons Lang's ArrayUtils et Collections, une solution pratique émerge :

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));
    }
}

Cette approche utilise la polyvalence de Arrays.asList() pour envelopper le tableau existant, permettant Collections.min() et Collections.max() pour trouver sans effort les valeurs minimales et maximales, respectivement.

Considérations d'efficacité

Il convient de noter que Arrays.asList () encapsule le tableau sans copier ses éléments, préservant ainsi l'efficacité de la mémoire. Par conséquent, cette approche convient aux scénarios où la consommation de mémoire et les performances sont préoccupantes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn