国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > Java > 正文

java根據(jù)List內(nèi)對(duì)象的屬性排序方法

2024-07-13 10:15:54
字體:
供稿:網(wǎng)友

方法一:實(shí)現(xiàn)Comparator接口,并重寫compare方法

實(shí)體類代碼:

import java.util.Comparator;/** * 學(xué)生類 方法一 * 實(shí)現(xiàn)Comparator接口 * 并重寫compare方法 * @author liaot * */public class Student implements Comparator<Student>{ private String name; //姓名 private int age; //年齡 //重寫 比較方法 本次例子定義為按年齡比較 @Override public int compare(Student o1, Student o2) {  if(o1.getAge() > o2.getAge()){   return 1;  }else{   return -1;  } } public Student(String name, int age) {  super();  this.name = name;  this.age = age; } public String getName() {  return name; } public void setName(String name) {  this.name = name; } public int getAge() {  return age; } public void setAge(int age) {  this.age = age; }}

測(cè)試類:

import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Main { public static void main(String[] args) {  //初始化四個(gè)不同的學(xué)生  Student stu1 = new Student("路人甲", 20);  Student stu2 = new Student("路人已", 18);  Student stu3 = new Student("路人丙", 16);  Student stu4 = new Student("路人丁", 19);  //新建List把學(xué)生加進(jìn)List  List<Student> stuList = new ArrayList<>();  stuList.add(stu1);  stuList.add(stu2);  stuList.add(stu3);  stuList.add(stu4);  System.out.println("排序前:=====");  for(Student stu :stuList){   System.out.println("姓名:"+stu.getName() +" 年齡"+stu.getAge());  }  //排序  Collections.sort(stuList, stu1); //第一個(gè)參數(shù)為L(zhǎng)ist 第二個(gè)參數(shù)為對(duì)象的一個(gè)實(shí)例  System.out.println("排序后:=====");  for(Student stu :stuList){   System.out.println("姓名:"+stu.getName() +" 年齡"+stu.getAge());  } }}

運(yùn)行結(jié)果:

java,List,內(nèi)對(duì)象,屬性,排序

方法二:實(shí)現(xiàn)Comparable接口 并重寫compareTo方法

/** * 學(xué)生類 方法二 實(shí)現(xiàn)Comparable接口 并重寫compareTo方法 *  * @author liaot * */public class Student2 implements Comparable<Student2> { private String name; // 姓名 private int age; // 年齡 // 重寫 比較方法 本次例子定義為按年齡比較 @Override public int compareTo(Student2 stu) {  if (this.age > stu.getAge()) {   return 1;  } else {   return -1;  } } public Student2(String name, int age) {  super();  this.name = name;  this.age = age; } public String getName() {  return name; } public void setName(String name) {  this.name = name; } public int getAge() {  return age; } public void setAge(int age) {  this.age = age; }}

測(cè)試類

import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Main2 { public static void main(String[] args) {  //初始化四個(gè)不同的學(xué)生  Student2 stu1 = new Student2("路人甲", 20);  Student2 stu2 = new Student2("路人已", 18);  Student2 stu3 = new Student2("路人丙", 16);  Student2 stu4 = new Student2("路人丁", 19);  //新建List把學(xué)生加進(jìn)List  List<Student2> stuList = new ArrayList<>();  stuList.add(stu1);  stuList.add(stu2);  stuList.add(stu3);  stuList.add(stu4);  System.out.println("排序前:=====");  for(Student2 stu :stuList){   System.out.println("姓名:"+stu.getName() +" 年齡"+stu.getAge());  }  //排序  Collections.sort(stuList); //只有一個(gè)參數(shù)參數(shù)為L(zhǎng)ist  System.out.println("排序后:=====");  for(Student2 stu :stuList){   System.out.println("姓名:"+stu.getName() +" 年齡"+stu.getAge());  } }}

運(yùn)行結(jié)果

java,List,內(nèi)對(duì)象,屬性,排序

三、總結(jié):兩種方式寫法和用法上的區(qū)別:

java,List,內(nèi)對(duì)象,屬性,排序

以上這篇java根據(jù)List內(nèi)對(duì)象的屬性排序方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JAVA教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜君县| 南康市| 凌云县| 凤城市| 临夏县| 准格尔旗| 正定县| 锦屏县| 环江| 星座| 内丘县| 莱阳市| 商河县| 桐乡市| 汉沽区| 新兴县| 原平市| 乳山市| 庆城县| 台前县| 祥云县| 巍山| 岳西县| 华容县| 铜梁县| 武定县| 和硕县| 镇江市| 六枝特区| 云霄县| 东平县| 收藏| 嘉祥县| 诸暨市| 兴山县| 道孚县| 濉溪县| 宜良县| 南安市| 濉溪县| 旬阳县|