1. 程式人生 > >java快速尋找一個數組的最大值或最小值, min, max,三種方法

java快速尋找一個數組的最大值或最小值, min, max,三種方法

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 最方便。