java - 按对象中的值对对象进行排序

标签 java android arrays sorting

我有一个对象数组,这些对象都存储了多个值。我将它们放在一个对象数组中。

class PlayerScores {

String playerName;
   int pos=0;
   int played=0;
   int win=0;
   int draw=0;
   int lose=0;
   int goalsFor=0;
   int goalsAgainst=0;
   int goalDifference=0;
   int points=0;

   public PlayerScores() {
   }
}

这些存储在数组中:

Player Scores[] playersObjects = new PlayerScores[int];

            playersObjects[i] = new PlayerScores();

我想搜索“playersObject[]”,然后在一个新的对象数组中进行排序,其中具有最高点的玩家首先在数组中,其余的按降序排列。我不确定如何对对象内的单个值进行排序。

任何帮助将不胜感激,

谢谢。

最佳答案

您可以使用Arrays.Sort并提供定制Comparator 。像这样的东西应该有效:

public class PlayerScoresComparator implements Comparator<PlayerScores> {
    @Override
    public int compare(PlayerScores lhs, PlayerScores rhs) {
        return lhs.points - rhs.points;
    }
}

关于java - 按对象中的值对对象进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14247930/

相关文章:

Java - 如何使用 Scanner 将文本文件的值存储到数组中?

java - Axis Java Web 服务 : connect to database on startup

java - 统计一个字符在字符串中连续出现的次数

c - 我已经分配了足够的内存空间,但是在写了大约 69 个字符之后我遇到了访问冲突

java - 使用 Ant 构建脚本创建 WarFile 时如何将类路径 jar 包含在 WEB-INF/lib 文件夹中

php - 如何防止 Android 应用程序在重新安装时从 GCM 接收推送通知,直到用户通过我的 Web 服务进行身份验证

android - 按返回按钮时出错

Android 在卸载后保留数据

c - 在函数中调整结构数组的大小

java - ReSTLet 版本 2.2 java.lang.NoSuchMethodError : javax/xml/stream/XMLInputFactory. newFactory()