Java 如何从列表数组中查找最低字段
有人能告诉我如何从列表对象中找到最低的学生id吗 我得到了一个学生班: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
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;
}
}