复制代码代码如下 :
java.util.arraylist 가져 오기;
java.util.collections import;
import java.util.comparator;
Java.util.list 가져 오기;
공개 클래스 Comparatortest 구현 비교기 <stuentity> {
/**
* @param args
*/
public static void main (String [] args) {
List <Stuentity> List = New ArrayList <Stuentity> ();
스터디 스터드 1 = 새로운 스테이트 ();
Stud1.setage (10);
Stud1.setName ( "ABC");
스터디 스터드 2 = 새로운 스테이트 ();
Stud2.setage (10);
Stud2.setName ( "BDC");
스터디 스터드 3 = 새로운 스테틀리티 ();
Stud3.setage (5);
Stud3.setName ( "bdd");
스터디 스터드 4 = 새로운 스테이트 ();
Stud4.setage (30);
Stud4.setName ( "AAD");
list.add (Stud1);
list.add (Stud2);
list.add (Stud3);
list.add (Stud4);
collections.sort (list, new comparatortest ());
for (stuentity stud : list) {
system.out.println (stud.getage ()+":"+stud.getname ());
}
}
/**
*
*/
@보수
public int 비교 (Stuentity Stud1, Stuentity Stud2) {
// 根据姓名排序
int maxname = stud1.getName (). compareto (stud2.getName ());
if (maxName! = 0)
return maxname;
// 根据年龄排序
int maxage = stud1.getage () -stud2.getage ();
// if (maxage! = 0)
리턴 최대;
}
}
输出 :
复制代码代码如下 :
30 : AAD
10 : ABC
10 : BDC
5 : BDD
java , , ,, 实现 비교기 接口的 接口的 接口的 接口的 这个回调方法来制定排序规则 这个回调方法来制定排序规则 这个回调方法来制定排序规则 这个回调方法来制定排序规则 这个回调方法来制定排序规则, collections.sort (list, new comparatortest ()); 就可以将 목록 进行排序, 很方便
使用时要注意 비교 () 使用时要注意 方法中的 方法中的 的先后顺序 的先后顺序 的先后顺序, 优先的排序规则要写在前面
实体类 :
复制代码代码如下 :
/**
* 学生实体类
*
*/
공공 계급 흉내 {
Private int studentId; // 学号
개인 문자열 이름;
사적인 int 연령;
개인 문자열 섹스; //;
Private Int Roomnumber; // 房间号
개인 문자열 학위; //;
개인 int 등급; //;
개인 문자열 deviceNumber; // 设备号
Private Int GroupNumber; // 所属的小组
개인 int javascore; // java 成绩
Private Int Netscore; // net 成绩
공개 문자열 getDegree () {
반환 학위;
}
공개 void setDegree (문자열 학위) {
this.degree = 학위;
}
public int getgrade () {
반품 등급;
}
공개 void setgrade (int grade) {
this.grade = 등급;
}
/**
* 初始化有参构造函数
*
* @param id
* @param 이름
* @param 시대
* @param 섹스
* @param 룸머 덤프
* @param deviceNumber
* @Param GroupNumber
* @Param Javascore
* @param netscore
*/
공공 enduentity (문자열 이름, int 연령, 문자열 섹스, int roomnumber,
String DevicEnumber, int GroupNumber, int Javascore, int Netscore) {
this.name = 이름;
this.age = age;
this.sex = 섹스;
이. roomnumber = 룸머;
this.deviceNumber = deviceNumber;
this.groupNumber = GroupNumber;
this.javascore = Javascore;
this.netscore = netscore;
}
/**
* 无参构造函数
*/
공공 enduentity () {
}
공개 int getjavascore () {
Javascore 반환;
}
공공 void setjavascore (intjavascore) {
this.javascore = Javascore;
}
public int getNetscore () {
리턴 네트 코어;
}
public void setnetscore (int netscore) {
this.netscore = netscore;
}
public int getstudentid () {
반품 학생;
}
공개 void setstudentid (int studentid) {
this.studentid = windentid;
}
공개 문자열 getName () {
반환 이름;
}
public void setName (문자열 이름) {
this.name = 이름;
}
public int getage () {
귀환 연령;
}
공개 무효 설정 (int Age) {
this.age = age;
}
공개 문자열 getsex () {
귀환 섹스;
}
public void setsex (String Sex) {
this.sex = 섹스;
}
public int getroomnumber () {
반환 룸버;
}
공개 void setroomnumber (int roomnumber) {
이. roomnumber = 룸머;
}
공개 문자열 getDevicEnumber () {
반환 deviceNumber;
}
public void setDeviceNumber (String deviceNumber) {
this.deviceNumber = deviceNumber;
}
public int getGroupNumber () {
반환 그룹 번호;
}
public void setGroupNumber (int GroupNumber) {
this.groupNumber = GroupNumber;
}
}