介绍
这篇文章给大家分享的是有关Java实现对象列表排序的案例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
按照对象中的某个属性,对对象列表进行排序。
以初唐四杰的成绩排名为例,对诗人进行排序。
Java实现如下:
1,诗人(诗人)类结构,定义如下:
/* * ,* Created by  Miracle Luna 提醒2020/1/11 ,*/public class  Poet { private 才能;String 名称; private 才能;Double 分数; public 才能;诗人(名称、String Double 分数),{ ,,,this.name =,名称; ,,,this.score =,分数; ,,} public 才能;String  getName (), { ,,,return 名称; ,,} public 才能;void  setName (String 名称),{ ,,,this.name =,名称; ,,} public 才能;Double  getScore (), { ,,,return 分数; ,,} public 才能;void  setScore (Double 分数),{ ,,,this.score =,分数; ,,} @Override才能 public 才能;String  toString (), { ,,,return “诗人{“+ ,,,,,,,“name=& # 39;“, +, name +, & # 39; \ & # 39; & # 39; + ,,,,,,,,,,分数=?+,score + ,,,,,,,& # 39;}& # 39;; ,,} }
2,诗人按照成绩排名、代码如下:
import java.util.ArrayList; import java.util.Comparator; import 并不知道;/* * ,* Created by  Miracle Luna 提醒2020/1/11 ,*/public class  PoetSort { public 才能;static  void main (String [], args), { ,,,List, poetList =, new ArrayList (); ,,,Poet poet1 =, new 诗人(“杨炯,,,94.0); ,,,poetList.add (poet1); ,,,Poet poet2 =, new 诗人(“卢照邻“,,92.5); ,,,poetList.add (poet2); ,,,Poet poet3 =, new 诗人(“骆宾王“,,95.0); ,,,poetList.add (poet3); ,,,Poet poet4 =, new 诗人(“王勃,,,99.5); ,,,poetList.add (poet4); ,,,//,初始顺序 ,,,System.out.println(“==祝辞,初始顺序如下:“); ,,,poetList.forEach (poet →, System.out.println (poet.toString ())); ,,,//,按照分数排名(从高到低) ,,,poetList.sort (new Comparator< Poet> (), { ,,,,@Override ,,,,,public int 比较(Poet poet1, Poet poet2), { ,,,,,,,Double score1 =, poet1.getScore (); ,,,,,,,Double score2 =, poet2.getScore (); ,,,,,,,return score2.compareTo (score1); ,,,,,} ,,,}); ,,,System.out.println (“\ n==祝辞,按照分数排名(从高到低)如下:“); ,,,poetList.forEach (poet →, System.out.println (poet.toString ())); ,,,//,按照分数排名(从低到高) ,,,poetList.sort (new Comparator< Poet> (), { ,,,,@Override ,,,,,public int 比较(Poet poet1, Poet poet2), { ,,,,,,,Double score1 =, poet1.getScore (); ,,,,,,,Double score2 =, poet2.getScore (); ,,,,,,,return score1.compareTo (score2); ,,,,,} ,,,}); ,,,System.out.println (“\ n==祝辞,按照分数排名(从低到高)如下:“); ,,,poetList.forEach (poet →, System.out.println (poet.toString ())); ,,} }
3,运行结果如下:
==祝辞,初始顺序如下: 诗人{name=& # 39;杨炯& # 39;,,分数=94.0} 诗人{name=& # 39;卢照邻& # 39;,,分数=92.5} 诗人{name=& # 39;骆宾王& # 39;,,分数=95.0} 诗人{name=& # 39;王勃& # 39;,,分数=99.5}==祝辞,按照分数排名(从高到低)如下: 诗人{name=& # 39;王勃& # 39;,,分数=99.5} 诗人{name=& # 39;骆宾王& # 39;,,分数=95.0} 诗人{name=& # 39;杨炯& # 39;,,分数=94.0} 诗人{name=& # 39;卢照邻& # 39;,,分数=92.5}==祝辞,按照分数排名(从低到高)如下: 诗人{name=& # 39;卢照邻& # 39;,,分数=92.5} 诗人{name=& # 39;杨炯& # 39;,,分数=94.0} 诗人{name=& # 39;骆宾王& # 39;,,分数=95.0} nullJava实现对象列表排序的案例