Java 如何从列表数组中查找最低字段

Java 如何从列表数组中查找最低字段,java,Java,有人能告诉我如何从列表对象中找到最低的学生id吗 我得到了一个学生班: public class Student{ private int id; private String name; ..Getter and setters 主要类别: public class test { public static void main(String[] args) { Student s1 = new Student(105, "John"); Stude

有人能告诉我如何从列表对象中找到最低的学生id吗

我得到了一个学生班:

public class Student{
private int id;
private String name;

..Getter and setters
主要类别:

public class test {

    public static void main(String[] args) {
        Student s1 = new Student(105, "John");
        Student s2 = new Student(101, "Peter");
        Student s3 = new Student(108, "Simon");
        Student s4 = new Student(103, "Jo");

        List<Student> students = new ArrayList<Student>();
        students.add(s1);
        students.add(s2);
        students.add(s3);
        students.add(s4);
如何从列表中检索最小学生id


提前感谢,

实现这一点的最快计算方法是只通过列表一次,并跟踪最小值:

Integer min = null;
for (Student student : students) {
    if (min == null || student.getId() < min) {
        min = student.getId();
    }
}
然后最小学生id将存储在min中


//这里的min_student将是具有最小id的一个。

通过迭代列表中所有元素的id?您需要一个变量来保存到目前为止在列表中遇到的最低id。将其初始化为null。现在,循环浏览列表中的每个项目。它是低于上一个最低值还是上一个最低值==null?如果是这样,这就是你的新低。这和在列表/数组中查找最小X没有什么不同。请告诉我们您尝试了什么,以及您具体遇到了什么问题。出于某种原因,我想有人会建议我使用集合,而不是循环。。。
Iterator<Student> itr = students.iterator();
Student min_student = itr.next();
Student curr_student;
while (itr.hasNext()) {
    curr_student = itr.next();
    if (curr_student.getId() < min_student.getID()) {
        min_student = curr_student;
    }
}