复制代码代码如下:
导入java.util.arraylist;
导入java.util.collections;
导入java.util.comparator;
导入java.util.list;
公共类比较最终实施比较器<Stuentity> {
/**
* @param args
*/
公共静态void main(string [] args){
list <Stuentity> list = new ArrayList <Stuentity>();
Stuentity stud1 = new Stuentity();
Stud1.Setage(10);
Stud1.setName(“ ABC”);
Stuentity stud2 = new Stuentity();
stud2.setage(10);
Stud2.setName(“ BDC”);
Stuentity Stud3 = new Stuentity();
Stud3.Setage(5);
Stud3.setName(“ BDD”);
Stuentity stud4 = new Stuentity();
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());
}
}
/**
*
*/
@Override
公共int比较(Stuentity Stud1,Stuentity Stud2){
//根据姓名排序
int maxName = stud1.getName()。
如果(maxName!= 0)
返回maxName;
//根据年龄排序
int maxage = stud1.getage() - stud2.getage();
// if(maxage!= 0)
返回maxage;
}
}
输出:
复制代码代码如下:
30:AAD
10:ABC
10:BDC
5:BDD
java的比较器很有用,实现比较接口的(比较(),然后调用,然后调用collections.sort(list,new comparatortest());就可以将列表进行排序,很方便,很方便
使用时要注意(比较()方法中的返回,优先的排序规则要写在前面,优先的排序规则要写在前面
实体类:
复制代码代码如下:
/**
*学生实体类
*
*/
公共班级的结实{
私人int StudentId; //学号
私有字符串名称;
私人int年龄;
私人弦性; //性别
私人int roomnumber; //房间号
私人字符串学位; //学位
私人int等级; //年级
私人字符串deviceNumber; //设备号
私人int groupnumber; //所属的小组
私人墨西哥javascore; // Java成绩
私有int netScore; // net成绩
公共字符串getDegree(){
返回学位;
}
public void setDegree(字符串度){
this.degree =度;
}
public int getGrade(){
退货等级;
}
公共void setgrade(int等级){
this.grade =等级;
}
/**
*初始化有参构造函数
*
* @param ID
* @param名称
* @param年龄
* @param性
* @param roomnumber
* @param deviceNumber
* @Param GroupNumber
* @param javascore
* @Param NetScore
*/
公共成立(字符串名称,int age,string sex,int roomnumber,
字符串deviceNumber,int groupNumber,int javascore,int netScore){
this.name = name;
this.age = age;
this.sex =性别;
this.Roomnumber = Roomnumber;
this.deviceNumber = deviceNumber;
this.groupnumber = groupNumber;
this.javascore = Javascore;
this.netscore = netScore;
}
/**
*无参构造函数
*/
公共结构(){
}
public int getjavascore(){
返回爪哇山脉;
}
公共Void Setjavascore(INT Javascore){
this.javascore = Javascore;
}
public int int getnetscore(){
返回netScore;
}
public void setnetscore(int netScore){
this.netscore = netScore;
}
public int int getstudentid(){
返回StudentId;
}
public void setstudentid(int studentId){
this.studentid = studentId;
}
公共字符串getName(){
返回名称;
}
public void setName(字符串名称){
this.name = name;
}
public int getage(){
返回年龄;
}
公共空隙套装(int age){
this.age = age;
}
public String getSex(){
返回性
}
public void setSex(string sex){
this.sex =性别;
}
public int getroomnumber(){
返回室内;
}
public void setroomnumber(int roomnumber){
this.Roomnumber = Roomnumber;
}
public String getDeviceNumber(){
返回DeviceNumber;
}
public void setDeviceNumber(字符串deviceNumber){
this.deviceNumber = deviceNumber;
}
public int int getGroupnumber(){
返回groupnumber;
}
public void setGroupnumber(int groupNumber){
this.groupnumber = groupNumber;
}
}