2、定义一个Student类,其属性有学号id和姓名name,为了方便显示,该类覆盖了父类Object的toString()方法,返回以下格式的字符串:"学号:"+id+" 姓名:"+name。 在main方法中创建ArrayList对象list,并添加3个Student类对象,并将list的所有元素分行显示;然后用自定义的比较器将list的元素按学号升序排序后输出。
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
class Student{
private int id;
private String name;
public Student(int id, String name) {
super();
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
@Override
public String toString() {
return "学号:"+id+" 姓名:"+name;
}
}
class StudentCompare implements Comparator<Student>{
@Override
public int compare(Student o1, Student o2) {
int result = 0;
if(o1.getId()>o2.getId()) {
result = 1;
}else if(o1.getId()<o2.getId()) {
result = -1;
}
return result;
}
}
public class App {
public static void main(String[lbk][rbk] args) {
List<Student> list = new ArrayList<Student>();
list.add(new Student(1,"qqq"));
list.add(new Student(3,"www"));
list.add(new Student(2,"eee"));
Collections.sort(list,new StudentCompare());
for(Student s:list) {
System.out.println(s);
}
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
class Student{
private int id;
private String name;
public Student(int id, String name) {
super();
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
@Override
public String toString() {
return "学号:"+id+" 姓名:"+name;
}
}
class StudentCompare implements Comparator<Student>{
@Override
public int compare(Student o1, Student o2) {
int result = 0;
if(o1.getId()>o2.getId()) {
result = 1;
}else if(o1.getId()<o2.getId()) {
result = -1;
}
return result;
}
}
public class App {
public static void main(String[lbk][rbk] args) {
List<Student> list = new ArrayList<Student>();
list.add(new Student(1,"qqq"));
list.add(new Student(3,"www"));
list.add(new Student(2,"eee"));
Collections.sort(list,new StudentCompare());
for(Student s:list) {
System.out.println(s);
}
}
}