java如何取出最小值
取出数组中的最小值
在Java中,可以通过遍历数组或使用集合工具类来取出最小值。
方法一:遍历数组
int[] arr = {5, 3, 9, 1, 7};
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
System.out.println("最小值: " + min);
方法二:使用Arrays.sort()
import java.util.Arrays;
int[] arr = {5, 3, 9, 1, 7};
Arrays.sort(arr);
int min = arr[0];
System.out.println("最小值: " + min);
方法三:使用Stream API(Java 8+)
import java.util.Arrays;
int[] arr = {5, 3, 9, 1, 7};
int min = Arrays.stream(arr).min().getAsInt();
System.out.println("最小值: " + min);
取出集合中的最小值
对于List等集合类型,可以使用Collections.min()方法。
import java.util.Collections;
import java.util.ArrayList;
import java.util.List;
List<Integer> list = new ArrayList<>();
list.add(5);
list.add(3);
list.add(9);
list.add(1);
list.add(7);
int min = Collections.min(list);
System.out.println("最小值: " + min);
取出对象列表中的最小值
如果列表存储的是自定义对象,可以通过Comparator或Stream实现。

import java.util.Comparator;
import java.util.List;
import java.util.Arrays;
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
List<Person> people = Arrays.asList(
new Person("Alice", 25),
new Person("Bob", 30),
new Person("Charlie", 20)
);
// 使用Stream API
Person youngest = people.stream()
.min(Comparator.comparingInt(p -> p.age))
.orElse(null);
System.out.println("最小年龄: " + youngest.age);
注意事项
- 如果数组或集合为空,
Collections.min()和Stream.min()会抛出异常,建议先检查非空。 - 对于对象列表,确保正确实现
Comparator逻辑。






