复制代码代码如下:
นำเข้า java.util.arraylist;
นำเข้า Java.util.Collections;
นำเข้า Java.util.Comparator;
นำเข้า java.util.list;
การเปรียบเทียบคลาสสาธารณะใช้เครื่องเปรียบเทียบ <stuentity> {
-
* @param args
-
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
รายการ <stuentity> list = new ArrayList <Stuentity> ();
Stuentity stud1 = ใหม่ stuentity ();
stud1.setage (10);
Stud1.SetName ("ABC");
stuentity stud2 = ใหม่ stuentity ();
stud2.setage (10);
stud2.setName ("BDC");
Stuentity stud3 = ใหม่ stuentity ();
stud3.setage (5);
stud3.setName ("bdd");
Stuentity Stud4 = ใหม่ stuentity ();
stud4.setage (30);
stud4.setName ("AAD");
list.add (stud1);
list.add (stud2);
list.add (stud3);
list.add (stud4);
collections.sort (รายการ, ใหม่ comparatortest ());
สำหรับ (Stuentity Stud: List) {
System.out.println (stud.getage ()+":"+stud.getName ());
-
-
-
-
-
@Override
INT Public Compare (Stuentity Stud1, Stuentity Stud2) {
// 根据姓名排序
int maxName = stud1.getName (). compareto (stud2.getName ());
ถ้า (maxname! = 0)
ส่งคืน maxname;
// 根据年龄排序
int maxage = stud1.getage ()-stud2.getage ();
// ถ้า (maxage! = 0)
กลับมาแม็กซ์;
-
-
输出:
复制代码代码如下:
30: Aad
10: ABC
10: BDC
5: BDD
java 的比较器很有用, 实现 comparator 接口的接口的 () 这个回调方法来制定排序规则,, 然后调用然后调用 collections.sort (รายการ, ใหม่เปรียบเทียบ ()); 就可以将进行排序进行排序,, 很方便很方便很方便,,,,
(เปรียบเทียบ () 方法中的 return 的先后顺序, 优先的排序规则要写在前面优先的排序规则要写在前面
实体类:
复制代码代码如下:
-
* 学生实体类
-
-
ชั้นเรียนสาธารณะ stuentity {
private int studentid; // 学号
ชื่อสตริงส่วนตัว;
อายุ int ส่วนตัว;
เซ็กส์สตริงส่วนตัว // 性别
int roomnumber ส่วนตัว; // 房间号
ระดับสตริงส่วนตัว; // 学位
เกรด INT ส่วนตัว; // 年级
สตริงส่วนตัว devicenumber; // 设备号
int groupnumber ส่วนตัว; // 所属的小组
javascore int ส่วนตัว; // java 成绩
INT ส่วนตัว NetScore; // net 成绩
สตริงสาธารณะ getDegree () {
ปริญญากลับมา;
-
โมฆะสาธารณะ setDegree (ระดับสตริง) {
this.degree = องศา;
-
สาธารณะ int getGrade () {
เกรดกลับ;
-
โมฆะสาธารณะ setGrade (เกรด int) {
this.grade = เกรด;
-
-
* 初始化有参构造函数
-
* @param id
* @param ชื่อ
* @param อายุ
* @param sex
* @param roomnumber
* @param devicenumber
* @param GroupNumber
* @param javascore
* @param netscore
-
สาธารณะ stuentity (ชื่อสตริงอายุ int, String sex, int roomnumber,
String devicenumber, int GroupNumber, int javascore, int netScore) {
this.name = ชื่อ;
this.age = อายุ;
this.sex = เพศ;
this.roomnumber = roomnumber;
this.devicenumber = devicenumber;
this.groupnumber = GroupNumber;
this.javascore = Javascore;
this.netscore = netscore;
-
-
* 无参构造函数
-
สาธารณะ stuentity () {
-
สาธารณะ int getJavascore () {
กลับ Javascore;
-
โมฆะสาธารณะ Setjavascore (int javascore) {
this.javascore = Javascore;
-
สาธารณะ int getNetScore () {
กลับ Netscore;
-
โมฆะสาธารณะ setNetScore (int netScore) {
this.netscore = netscore;
-
public int getStudentId () {
คืนนักเรียน;
-
โมฆะสาธารณะ setstudentId (int studentId) {
this.studentId = studentId;
-
สตริงสาธารณะ getName () {
ชื่อคืน;
-
โมฆะสาธารณะ setName (ชื่อสตริง) {
this.name = ชื่อ;
-
สาธารณะ int getage () {
อายุกลับ;
-
การตั้งค่าโมฆะสาธารณะ (อายุ int) {
this.age = อายุ;
-
สตริงสาธารณะ getSex () {
กลับมามีเพศสัมพันธ์;
-
โมฆะสาธารณะ SetSex (String Sex) {
this.sex = เพศ;
-
สาธารณะ int getroomnumber () {
กลับห้องพัก;
-
โมฆะสาธารณะ setroomnumber (int roomnumber) {
this.roomnumber = roomnumber;
-
สตริงสาธารณะ getDevicEnumber () {
กลับ devicenumber;
-
โมฆะสาธารณะ SetDevicenumber (String DeviceNumber) {
this.devicenumber = devicenumber;
-
สาธารณะ int getGroupNumber () {
กลับกลุ่ม
-
โมฆะสาธารณะ setGroupNumber (int GroupNumber) {
this.groupNumber = GroupNumber;
-
-