java在数组中搜索最值
java 中寻找一个数组中的最大值或最小,除了自己专门编写一个 min 或 max 函数外,还有几种方式方便使用。
- 使用 stream
将一个数组放进 stream 里面,然后直接调用 stream 里的 min 或 max 函数得到最大值或最小值。
- 使用 collection
将数组转化为对象数组,即 int 转化为 Integer (需要使用 toObject 转换)。 然后调用 Collection 里面的 min或max.
- 使用 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 最方便。