public class Test01 {
public static void main(String[] args) {
ArrayList<Student> arrList = new ArrayList<>();
Student student = new Student("张三", 34, 91.2);
Student student2 = new Student("张四", 20, 92.3);
Student student3 = new Student("张五", 20, 93.4);
Student student4 = new Student("张六", 34, 91.2);
arrList.add(student);
arrList.add(student2);
arrList.add(student3);
arrList.add(student4);
System.out.println(arrList);
Iterator<Student> iterator = arrList.iterator();
while (iterator.hasNext()) {
Student s = iterator.next();
System.out.println(s);
}
}
}
public class Student implements Comparator<Student> {
private String name;
private int age;
private double scroe;
public Student() {
}
public Student(String name, int age, double scroe) {
this.name = name;
this.age = age;
this.scroe = scroe;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getScroe() {
return scroe;
}
public void setScroe(double scroe) {
this.scroe = scroe;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", scroe=" + scroe +
'}';
}
@Override
public int compare(Student o1, Student o2) {
if (o1.scroe == o2.scroe){
return o1.age - o2.age;
}else return Double.compare(o1.scroe, o2.scroe);
}
}
[Student{name='张三', age=34, scroe=91.2}, Student{name='张四', age=20, scroe=92.3}, Student{name='张五', age=20, scroe=93.4}, Student{name='张六', age=34, scroe=91.2}]
Exception in thread "main" java.lang.NullPointerException
at lyj.homework.Test01.main(Test01.java:31)
检查一下循环是不是正常遍历到最后了
Iterator<Student> iterator = arrList.iterator();
for (Student s: iterator){
System.out.println(s);
}
这样去迭代。
你的代码是没有问题的,可能你迭代器导错了包。import java.util.Iterator;
如果需要我可以远程给你看下是什么问题导致的。私信我就行。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632