import java
.util
.ArrayList
;
import java
.util
.Comparator
;
public class Student {
private String name
;
private String university
;
private int age
;
public Student(String name
, String university
, int age
) {
this.name
= name
;
this.university
= university
;
this.age
= age
;
}
public String
getName(){
return name
;
}
public String
getUniversity() {
return university
;
}
public int getAge() {
return age
;
}
public String
toString() {
return name
+ ", " + university
+ ", " + age
;
}
public static void main(String
[] args
) {
Student p1
= new Student("A", "BU", 20);
Student p2
= new Student("C", "BU", 22);
Student p3
= new Student("C", "BC", 23);
Student p4
= new Student("B", "CMU",21);
Student p5
= new Student("C", "BU", 19);
ArrayList
<Student> arrayList
= new ArrayList<>();
arrayList
.add(p1
);
arrayList
.add(p2
);
arrayList
.add(p3
);
arrayList
.add(p4
);
arrayList
.add(p5
);
System
.out
.println("Before sort:");
for(Student p
: arrayList
){
System
.out
.println(p
);
}
arrayList
.sort(new Comparator<Student>() {
@Override
public int compare(Student o1
, Student o2
) {
if(!o1
.getName().equals(o2
.getName())) {
return o1
.getName().compareTo(o2
.getName());
}else if(!o1
.getUniversity().equals(o2
.getUniversity())){
return o1
.getUniversity().compareTo(o2
.getUniversity());
}else{
return o1
.getAge() - o2
.getAge();
}
}
});
System
.out
.println("");
System
.out
.println("After sort:");
for(Student p
: arrayList
){
System
.out
.println(p
);
}
}
}
Before sort:
A, BU, 20
C, BU, 22
C, BC, 23
B, CMU, 21
C, BU, 19
After sort:
A, BU, 20
B, CMU, 21
C, BC, 23
C, BU, 19
C, BU, 22