package com.Test.Demo.Test;
import java.util.Arrays;
import java.util.Comparator;
public class SortTest {
public static void main(String[] args){
Ren1[] r1={new Ren1(123,"qwe"),new Ren1(99,"uio"),new Ren1(150,"tuu")};
Arrays.sort(r1,new bi()); //两种比较器同时存在,外部比较器生效
for(Ren1 t:r1){//降序
System.out.println(t);
}
}
}
class bi implements Comparator<Ren1>{ //外部比较器 实现比较规则
@Override
public int compare(Ren1 o1, Ren1 o2) {
return o2.getScore()-o1.getScore();
}
}
class Ren1 implements Comparable<Ren1> { //内部比较器
private int score;
private String name;
public Ren1(int score, String name) {
this.score = score;
this.name = name;
}
public int getScore() {
return score;
}
public String getName() {
return name;
}
@Override
public String toString() {
return "Ren1{" +
"score=" + score +
", name='" + name + '\'' +
'}';
}
@Override
public int compareTo(Ren1 o) {
return o.getScore()-this.getScore();
}
}
java中两种数组排序的方法
最新推荐文章于 2023-08-29 11:32:37 发布
本文详细介绍了一个使用Java进行数组排序的实例。通过自定义比较器实现降序排列,展示了如何利用Arrays.sort方法结合Comparator接口对Ren1对象数组进行排序。深入解析了内部比较器和外部比较器的使用场景和实现细节。
2999

被折叠的 条评论
为什么被折叠?



