尋求一種最佳化方法來找出陣列中的最小值和最大值
辨識陣列中的最小值和最大值的任務似乎就像一個簡單的練習,如提供的程式碼片段所示:
// 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; }
但是,問題出現了:現有的Java庫中是否有更有效的方法?
利用Commons Lang 和Collections
介紹Commons Lang 的ArrayUtils 和Collections 的min/max 方法,一個方便的解決方案出現了:
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)); } }
這種方法利用了多功能性Arrays.asList() 包裝現有數組,允許Collections.min() 和 Collections.max() 輕鬆分別找到最小值和最大值。
效率注意事項
值得注意的是,Arrays.asList() 包裝數組而不複製其元素,從而保留了記憶體效率。因此,這種方式適合同時關注記憶體消耗和效能的場景。以上是尋找 Java 陣列中的最小值和最大值的最有效方法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!