复制代码代码如下:
impor java.util.arraylist;
impor java.util.collections;
impor java.util.comparator;
impor java.util.list;
Kelas Public ComparateTortest mengimplementasikan pembanding <tregtity> {
/**
* @param args
*/
public static void main (string [] args) {
Daftar <TreguTity> Daftar = ArrayList baru <TreguTity> ();
STREPTITY Stud1 = STRETITY baru ();
stud1.setage (10);
stud1.setname ("ABC");
STREPTITY Stud2 = STRETITY baru ();
stud2.setage (10);
stud2.setname ("bdc");
STREPTITY Stud3 = STRETITY baru ();
stud3.setage (5);
stud3.setname ("bdd");
STREPTITY Stud4 = STRETITY baru ();
stud4.setage (30);
stud4.setname ("AAD");
list.add (stud1);
list.add (stud2);
list.add (stud3);
list.add (stud4);
Collections.sort (daftar, perbandingan baru ());
untuk (stud stud: daftar) {
System.out.println (stud.getage ()+":"+stud.getName ());
}
}
/**
*
*/
@Mengesampingkan
Public int Compare (STRETITY Stud1, STRETITY Stud2) {
// 根据姓名排序
int maxName = stud1.getName (). compareTo (stud2.getname ());
if (maxName! = 0)
mengembalikan maxname;
// 根据年龄排序
int maxage = stud1.getage ()-stud2.getage ();
// if (maxage! = 0)
return maxage;
}
}
输出 :
复制代码代码如下:
30: AAD
10: ABC
10: BDC
5: BDD
java 的比较器很有用 , 实现 pembanding 接口的 Bandingkan ()这个回调方法来制定排序规则 , 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 然后调用 collections
使用时要注意 Bandingkan ()方法中的 return 的先后顺序 , 优先的排序规则要写在前面
实体类 :
复制代码代码如下:
/**
* 学生实体类
*
*/
Kekesalan kelas publik {
private int studentid; // 学号
nama string pribadi;
usia int pribadi;
Private String Sex; // 性别
private int roomNumber; // 房间号
Gelar string pribadi; // 学位
grade int pribadi; // 年级
Private String DeviceNumber; // 设备号
private int groupNumber; // 所属的小组
private int javascore; // java 成绩
private int netscore; // net 成绩
Publik String getDegree () {
gelar kembali;
}
public void setDegree (derajat string) {
this.degree = derajat;
}
public int getGrade () {
nilai balik;
}
public void setGrade (int grade) {
this.grade = grade;
}
/**
* 初始化有参构造函数
*
* @param ID
* nama @param
* @param usia
* @param sex
* @param roomNumber
* @param DeviceNumber
* @param GroupNumber
* @param Javascore
* @param netscore
*/
Keangkuhan publik (nama string, usia int, seks string, int roomNumber,
String DeviceNumber, int GroupNumber, int Javascore, int netscore) {
this.name = name;
this.age = usia;
this.sex = seks;
this.roomNumber = roomNumber;
this.deviceNumber = DeviceNumber;
this.groupNumber = groupNumber;
this.javascore = javascore;
this.netscore = netscore;
}
/**
* 无参构造函数
*/
STRETITY PUBLIK () {
}
publik int getjavascore () {
mengembalikan Javascore;
}
public void setjavascore (int javascore) {
this.javascore = javascore;
}
publik int getNetscore () {
mengembalikan Netscore;
}
public void setNetScore (int netscore) {
this.netscore = netscore;
}
publik int getStudentId () {
mengembalikan StudentId;
}
public void setstudentId (int studentId) {
this.studentId = studentId;
}
Public String getName () {
nama pengembalian;
}
public void setName (nama string) {
this.name = name;
}
publik int getage () {
usia kembali;
}
public void setage (int usia) {
this.age = usia;
}
Public String getSex () {
kembalinya seks;
}
public void setSex (string sex) {
this.sex = seks;
}
publik int getroomnumber () {
Kembali RoomNumber;
}
public void setroomNumber (int roomNumber) {
this.roomNumber = roomNumber;
}
string publik getDeviceNumber () {
Return DeviceNumber;
}
public void setDeviceNumber (String DeviceNumber) {
this.deviceNumber = DeviceNumber;
}
public int getGroupNumber () {
Return GroupNumber;
}
public void setGroupNumber (int groupNumber) {
this.groupNumber = groupNumber;
}
}