บางครั้งเมื่อคุณต้องการห่อหุ้มและเรียงลำดับหน้าของคุณเองรายการจะเรียงลำดับแอตทริบิวต์บางอย่างอย่างไร แบ่งปันตัวอย่างเล็ก ๆ น้อย ๆ ทุกคนสนับสนุนคุณฉันหวังว่ามันจะเป็นประโยชน์กับคุณ กรุณาให้คำแนะนำฉัน
1. ถั่วของนักเรียนมีดังนี้:
นักเรียนชั้นเรียนสาธารณะ {Private Int อายุ; ชื่อสตริงส่วนตัว; น้ำหนักสตริงส่วนตัว; สตริงสาธารณะ getweight () {น้ำหนักคืน;} โมฆะสาธารณะ setweight (น้ำหนักสตริง) {this.weight = weight;} public int getage () {return age;} public void setage ชื่อ;}}2. เรียงลำดับตามแอตทริบิวต์ประเภท int ของวัตถุในรายการ
/*** เรียงลำดับตามแอตทริบิวต์ของประเภท int ในรายการ* @param list*/@suppresswarnings ("unchecked") โมฆะคงที่สาธารณะ sortintmethod (รายการรายการ) {collections.sort (รายการ, ตัวเปรียบเทียบใหม่ () {@@overridepublic Int Compare (Object O1, Object O2) stu2 = (นักเรียน) o2; if (stu1.getage ()> stu2.getage ()) {return 1;} else ถ้า (stu1.getage () == stu2.getage ()) {return 0;} อื่น {return -1;}}}); System.out.println ("///////////////////////////////////////////////////////////// สำหรับ (int i = 0; i <list.size (); i ++) {นักเรียน st = (นักเรียน) list.get (i); System.out.println ("st.age ="+st.getage ()+", st.name ="+st.getName ()); -3. เรียงลำดับตามคุณสมบัติของประเภทสตริงของวัตถุในรายการ
1) วิธี 1:
/*** เรียงลำดับตามแอตทริบิวต์ของประเภทสตริงในรายการ* @param list*/@suppresswarnings ("unchecked") โมฆะสาธารณะคงที่ sortstringmethod (รายการรายการ) {collections.sort (รายการ, ตัวเปรียบเทียบใหม่ () {@@overridepublic Int Compare (Object O1, Object O2) stu1.getName (). compereto (stu2.getName ());}}); system.out.println ("//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// สำหรับ (int i = 0; i <list.size (); i ++) {นักเรียน st = (นักเรียน) list.get (i); System.out.println ("st.age ="+st.getage ()+", st.name ="+st.getName ()); - 2) วิธีที่ 2:
นำไปใช้โดยใช้ java.text.rulebasedCollator เพื่อทำการเปรียบเทียบสตริงที่แยกแยะสถานที่:
/*** เรียงลำดับตามแอตทริบิวต์ของประเภทสตริงในรายการ* @param list*/@suppresswarnings ("unchecked") โมฆะสาธารณะคง ((java.text.rulebasedCollator) java.text.collator.getInstance (java.util.locale.china)) เปรียบเทียบ ((นักเรียน) O1) .getName (), ((นักเรียน) O2) .getName ());}}); System.out.println ("////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// สำหรับ (int i = 0; i <list.size (); i ++) {นักเรียน st = (นักเรียน) list.get (i); System.out.println ("st.age ="+st.getage ()+", st.name ="+st.getName ()); -4. ทดสอบวิธีการเรียงลำดับ
@suppresswarnings ("ไม่ได้ตรวจสอบ") โมฆะคงที่สาธารณะหลัก (String [] args) {arraylist list = new ArrayList (); นักเรียน t1 = นักเรียนใหม่ (); t1.setage (35); t1.setName ("wanglei"); list.add (t1); นักเรียน (); t2.setage (4); t2.setName ("lisi"); list.add (t2); นักเรียน t3 = นักเรียนใหม่ (); t3.setage (56); t3.setName ("zhonghua"); list.add (t3); นักเรียน t4 = ใหม่ นักเรียน (); t4.setage (39); t4.setName ("waanglei"); list.add (t4); System.out.println ("////////////////////////////////////////////////////////on///////////////// System.out.println ("st.age ="+st.getage ()+", st.name ="+st.getName ()); } // เรียงลำดับตามคุณสมบัติของประเภท int ในรายการ sortintmethod (รายการ); // เรียงลำดับตามคุณสมบัติของประเภทสตริงในรายการ SortStringMethod (รายการ);} 5. ผลลัพธ์