Περισσότερα
Εύρεση της τιμής max/min σε έναν πίνακα από primitives με χρήση της Java
Είναι τετριμμένο να γράψετε μια συνάρτηση για τον προσδιορισμό της ελάχιστης/μέγιστης τιμής σε έναν πίνακα, όπως:
/**
*
* @param chars
* @return the max value in the 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;
}
αλλά αυτό δεν έχει ήδη γίνει κάπου;
167
3
Χρήση Commons Lang (για μετατροπή) + Συλλογές (για min/max)
Σημειώστε ότι η
Arrays.asList()
τυλίγει τον υποκείμενο πίνακα, οπότε δεν θα πρέπει να είναι πολύ απαιτητική σε μνήμη και δεν θα πρέπει να εκτελεί αντιγραφή στα στοιχεία του πίνακα.Ναι, αυτό γίνεται στην κλάση Collections. Σημειώστε ότι θα πρέπει να μετατρέψετε χειροκίνητα τον πίνακα primitive char σε Character[].
Ένα σύντομο demo:
Εδώ είναι μια βοηθητική κλάση που παρέχει μεθόδους
min/max
για πρωτόγονους τύπους: Primitives.java