java快速尋找一個數組的最大值或最小值, min, max,三種方法
阿新 • • 發佈:2019-02-19
java 中 尋找一個數組中的最大值或最小,除了自己專門編寫一個 min 或 max 函式外,還有幾種方式方便使用。
1. 使用 stream
將一個數組放進 stream 裡面,然後直接呼叫 stream 裡的 min 或 max 函式得到最大值或最小值。
2. 使用 collection
將陣列轉化為物件陣列,即 int 轉化為 Integer (需要使用 toObject 轉換)。 然後呼叫 Collection 裡面的 min或max.
3. 使用 Arrays 中的 sort
Arrays 類中的 sort 可以自動將一個數組排序,排序後陣列中第一個元素就是 最小值,缺點是會改變陣列。
舉例:
顯示:import java.util.Arrays; import java.util.Collections; import org.apache.commons.lang3.ArrayUtils; public class HelloWorld { public static void main(String[] args) { // TODO Auto-generated method stub int a[] = {10, 5, 8}; int min = Arrays.stream(a).min().getAsInt(); System.out.println(min); min = Collections.min(Arrays.asList(ArrayUtils.toObject(a))); System.out.println(min); Arrays.sort(a); System.out.println(a[0]); } }
5, 5, 5
綜上:還是使用 stream 最方便。