如何用java制作排名系统

如何用java制作排名系统,java,Java,我有自定义对象,例如person。每个人都有等级、社会号码和分数。什么是最有效的方法,以点排序的人和排名他们。我应该使用什么-比较器、映射或覆盖某个列表的add方法?如何以最有效的方式制作 packagemain; 公共类人员实现可比性{ 私有最终字符串秩; 私人最终积分; 公众人物(字符串排名,整数分){ 这个.等级=等级; 这个点=点; } 公共字符串秩(){ 返回等级; } 公共积分(){ 返回点; } 公共布尔等于(对象o){ 如果(!(o个人实例)) 返回false; 人=(人)o;

我有自定义对象,例如person。每个人都有等级、社会号码和分数。什么是最有效的方法,以点排序的人和排名他们。我应该使用什么-比较器、映射或覆盖某个列表的add方法?如何以最有效的方式制作

packagemain;
公共类人员实现可比性{
私有最终字符串秩;
私人最终积分;
公众人物(字符串排名,整数分){
这个.等级=等级;
这个点=点;
}
公共字符串秩(){
返回等级;
}
公共积分(){
返回点;
}
公共布尔等于(对象o){
如果(!(o个人实例))
返回false;
人=(人)o;
返回person.rank.equals(rank)&&person.points==点;
}
//公共int hashCode(){
//返回你的散列;
// }
公共字符串toString(){
返回“等级:“+Rank+”,点数=”+点数;
}
公共国际比较(个人){
返回点>个人点?1:点<个人点?-1:0;
}
}
然后测试它

public static void main(String[] args) {

   Person usersArray[] = { new Person("RankX", 1), new Person("RankY", 100),
   new Person("RankZ", 44), new Person("RankF", 21) };

   List<Person> users = Arrays.asList(usersArray);
   Collections.sort(users);
   System.out.println(users);
        
   Collections.sort(users, Collections.reverseOrder());
   System.out.println(users);
}
publicstaticvoidmain(字符串[]args){
Person usersArray[]={new Person(“RankX”,1),new Person(“RankY”,100),
新人(“RankZ”,44),新人(“RankF”,21)};
List users=Arrays.asList(usersArray);
集合。排序(用户);
System.out.println(用户);
Collections.sort(用户,Collections.reverseOrder());
System.out.println(用户);
}
输出

[排名:RankX,积分=1,排名:RankF,积分=21,排名:RankZ,积分= 44,排名:RankY,分数=100]

[等级:RankY,分数=100,等级:RankZ, 分数=44,等级:RankF,分数=21,等级:RankX,分数=1]


好。。。一些代码可能会很有用。。但通常情况下,排序使用的是comaprator/Compariable欢迎使用SO-你可能是。请提供更多信息,我们无法帮助你,然后你会说:“我不知道我在做什么,请帮助”@JasonC-lol。。看起来像一个:)
public static void main(String[] args) {

   Person usersArray[] = { new Person("RankX", 1), new Person("RankY", 100),
   new Person("RankZ", 44), new Person("RankF", 21) };

   List<Person> users = Arrays.asList(usersArray);
   Collections.sort(users);
   System.out.println(users);
        
   Collections.sort(users, Collections.reverseOrder());
   System.out.println(users);
}