首页 > 编程知识 正文

对list进行排序,java修改list顺序

时间:2023-05-06 02:59:58 阅读:151138 作者:2516

本文主要介绍了如何基于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}

以上是本文的全部内容,希望对大家的学习有帮助。 另外,我希望你能多多支持编剧。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。