Mencari Pendekatan Dioptimumkan untuk Mencari Nilai Minimum dan Maksimum dalam Tatasusunan
Tugas mengenal pasti nilai minimum dan maksimum dalam tatasusunan nampaknya seperti latihan mudah, seperti yang ditunjukkan oleh kod yang disediakan coretan:
// 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; }
Walau bagaimanapun, timbul persoalan: Adakah terdapat pendekatan yang lebih cekap sudah tersedia dalam perpustakaan Java sedia ada?
Memanfaatkan Commons Lang dan Koleksi
Memperkenalkan kaedah min/maks ArrayUtils dan Collections Commons Lang, penyelesaian yang mudah muncul:
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)); } }
Pendekatan ini menggunakan kepelbagaian Arrays.asList() untuk membalut tatasusunan sedia ada, membolehkan Collections.min() dan Collections.max() mencari nilai minimum dan maksimum, masing-masing dengan mudah .
Pertimbangan Kecekapan
Ia adalah perlu diperhatikan bahawa Arrays.asList() membungkus tatasusunan tanpa menyalin elemennya, mengekalkan kecekapan memori. Oleh itu, pendekatan ini sesuai untuk senario di mana penggunaan memori dan prestasi membimbangkan.
Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Mencari Nilai Minimum dan Maksimum dalam Tatasusunan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!