ฉันเขียนตัวอย่างการเรียงลำดับ Java Array ที่นี่ฉันจะแบ่งปันให้ทุกคนเรียนรู้ร่วมกัน
การคัดลอกรหัสมีดังนี้:
แพ็คเกจ com.yonyou.test;
นำเข้า java.util.arraylist;
นำเข้า Java.util.Collections;
นำเข้า Java.util.Comparator;
นำเข้า java.util.list;
การทดสอบระดับสาธารณะ {
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
นักเรียน zlj = นักเรียนใหม่ ("Ding Xiaoyu", 21);
นักเรียน dxy = นักเรียนใหม่ ("Zhao Si", 22);
นักเรียน CJC = นักเรียนใหม่ ("จางซาน", 11);
นักเรียน LGC = นักเรียนใหม่ ("Liu Wu", 19);
รายการ <student> studentList = new ArrayList <Tudent> ();
studentlist.add (zlj);
studentlist.add (DXY);
studentlist.add (CJC);
studentlist.add (LGC);
System.out.println ("เรียงตามปี:");
collections.sort (studentlist, sortByage ใหม่ ());
สำหรับ (นักเรียนนักเรียน: นักศึกษา) {
System.out.println (student.getName () + " /" + student.getage ());
-
System.out.println ("===========");
System.out.println ("เรียงตามชื่อ");
collections.sort (studentlist, sortbyName ใหม่ ());
สำหรับ (นักเรียนนักเรียน: นักศึกษา) {
System.out.println (student.getName () + " /" + student.getage ());
-
-
-
คลาส SortByage ใช้ตัวเปรียบเทียบ {
INT Public Compare (Object O1, Object O2) {
นักเรียน S1 = (นักเรียน) O1;
นักเรียน S2 = (นักเรียน) O2;
if (s1.getage ()> s2.getage ())
กลับ 1;
อื่นถ้า (s1.getage () == s2.getage ()) {
กลับ 0;
-
กลับ -1;
-
-
คลาส SortByName ใช้เครื่องเปรียบเทียบ {
INT Public Compare (Object O1, Object O2) {
นักเรียน S1 = (นักเรียน) O1;
นักเรียน S2 = (นักเรียน) O2;
if (s1.getName (). compereto (s2.getName ()) <0)
กลับ -1;
อื่นถ้า (s1.getName (). compereto (s2.getName ())> 0) {
กลับ 1;
-
กลับ 0;
-
-
นักเรียนชั้นเรียน {
อายุ int ส่วนตัว;
ชื่อสตริงส่วนตัว;
สาธารณะ int getage () {
อายุกลับ;
-
การตั้งค่าโมฆะสาธารณะ (อายุ int) {
this.age = อายุ;
-
สตริงสาธารณะ getName () {
ชื่อคืน;
-
โมฆะสาธารณะ setName (ชื่อสตริง) {
this.name = ชื่อ;
-
นักเรียนสาธารณะ (ชื่อสตริงอายุ int) {
this.age = อายุ;
this.name = ชื่อ;
-
-