Java实现对象列表排序的案例

  介绍

这篇文章给大家分享的是有关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}   null

Java实现对象列表排序的案例