Flask接口签名sign原理与实例代码浅析
288
2022-12-16
如何基于Java实现对象List排序
这篇文章主要介绍了如何基于java实现对象List排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
按照对象中的某个属性,对对象List进行排序。
以初唐四杰的成绩排名为例,对诗人进行排序。
Java实现如下:
1、诗人(Poet)类结构,定义如下:
/**
* Created by Miracle Luna on 2020/1/11
*/
public class Poet {
private String name;
private Double score;
public Poet(String name, Double score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getScore() {
return score;
}
public void setScore(Double score) {
this.score = score;
}
@Override
public String toString() {
return "Poet{" +
"name='" + name + '\'' +
", score=" + score +
'}';
}
}
2、诗人按照成绩排名,代码如下:
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
/**
* Created by Miracle Luna on 2020/1/11
*/
public class PoetSort {
public static void main(String[] args) {
List
Poet phttp://oet1 = new Poet("杨炯", 94.0);
poetList.add(poet1);
Poet poet2 = new Poet("卢照邻", 92.5);
poetList.add(poet2);
Poet poet3 = new Poet("骆宾王", 95.0);
poetList.add(poet3);
Poet poet4 = new Poet("王勃", 99.5);
poetList.add(poet4);
// 初始顺序
System.out.println("==> 初始顺序如下:");
poetList.forEach(poet -> System.out.println(poet.toString()));
// 按照分数排名(从高到低)
poetList.sort(new Comparator
@Override
public int compare(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
@Override
public int compare(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、运行结果如下:
==> 初始顺序如下:
Poet{name='杨炯', score=94.0}
Poet{name='卢照邻', score=92.5}
Poet{name='骆宾王', score=95.0}
Poet{name='王勃', score=99.5}
==> 按照分数排名(从高到低)如下:
Poet{name='王勃', score=99.5}
Poet{name='骆宾王', 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='骆宾王', score=95.0}
Poet{name='王勃', score=99.5}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~