本文主要介绍了如何基于Java实现对象的List排序。 示例代码中介绍的非常详细,对大家的学习和工作有一定的参考学习价值。 需要的朋友请参考
根据对象中的属性对对象List进行排序。
以顺利的爆米花成绩排行榜为例,对诗人进行排名。
Java的实现如下。
1、诗人(Poet )类的结构定义如下:
//*
* createdbymiraclelunaon 2020/1/11
*/
公共类端口{
私有字符串名称;
私有双成本;
公共端口(string name,Double score ) {
this.name=name;
this.score=score;
}
公共字符串获取名称
return name;
}
公共void set name (string name ) {
this.name=name;
}
公共双精度获取软件
返回比例;
}
publicvoidsetscore(doublescore ) {
this.score=score;
}
@Override
公共字符串
返回端口{
" name=" " name ""
',score=' score
();
}
}
2、诗人按成绩排名,代码如下:
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
//*
* createdbymiraclelunaon 2020/1/11
*/
公共类端口{
publicstaticvoidmain (string [ ] args ) {
List poetList=new ArrayList (;
Poet poet1=new Poet ('端庄的刺猬',94.0 );
poetlist.add(poet1;
Poet poet2=new Poet ('卢照旁',92.5 );
poetlist.add(poet2;
poetpoet3=newpoet('tzdlz ',95.0 );
poetlist.add(poet3;
Poet poet4=new Poet ('王勃',99.5 );
poetlist.add(poet4;
//初始顺序
system.out.println('==初始顺序如下。' );
poet list.foreach (poet-system.out.println ) poet.tostring () );
//分数排行榜(从高到低) )
poetlist.sort(newcomparator )。
@Override
公共输入公司(Poet poet2,Poet poet2) {
Double score1=poet1.getScore (;
Double score2=poet2.getScore (;
returnscore2.comPareto(score1);
}
);
system.out.println('n==按得分排名(从上到下) );
poet list.foreach (poet-system.out.println ) poet.tostring () );
//分数分级(从低到高) )
poetlist.sort(newcomparator )。
@Override
公共输入公司(Poet poet2,Poet poet2) {
Double score1=poet1.getScore (;
Double score2=poet2.getScore (;
returnscore1.comPareto(score2);
}
);
system.out.println('n==按得分排名(从下到上) );
poet list.foreach (poet-system.out.println ) poet.tostring () );
}
}
3、运行结果如下。
==初始顺序如下。
Poet{name='端庄的刺猬',score=94.0}
Poet{name='卢照旁',score=92.5}
Poet{name='tzdlz ',score=95.0}
Poet{name='王勃',score=99.5}
==各得分的排名(从高到低的顺序)如下。
Poet{name='王勃',score=99.5}
Poet{name='tzdlz ',score=95.0}
Poet{name='端庄的刺猬',score=94.0}
Poet{name='卢照旁',score=92.5}
==按得分分类的排名(从低到高)如下。
Poet{name='卢照旁',score=92.5}
Poet{name='端庄的刺猬',score=94.0}
Poet{name='tzdlz ',score=95.0}
Poet{name='王勃',score=99.5}
以上是本文的全部内容,希望对大家的学习有帮助。 另外,我希望你能多多支持编剧。