java - 如何在ArrayList中找到具有最大属性值的对象(使用不同的类)

标签 java class object arraylist max

这里是Java初学者。我应该找到参与者在 Activity 中获得的最佳结果(然后将此结果与其他结果进行比较以找到获胜者等)。

我为事件(包含事件结果列表)、参与者(包含参与者总结果列表)和结果(包含事件 obj、参与者 obj 和结果( double ))+命令的程序类创建了类。

到目前为止,我已经编写了一个方法,该方法以 double 形式返回参与者在事件中的最佳结果,但我需要返回整个结果对象。不确定哪个类应该负责这个(?),但我现在将此方法放在事件类中。

public double getBestResultDouble(Participant p) {
        double best = 0;

        if (hasResult(p)) {
            for (Result r : eventResults) {
                
                if (p.equals(r.getParticipant())) {

                    double res = r.getResult();

                    if (res > best) {
                        best = res;
                    }
                }
            }
        }
        return best;
    } 

最佳答案

只需将相应的(最佳)结果保存为另一个局部变量并在最后返回:

public Result getBestResultDouble(Participant p) {
    double best = 0;
    Result bestResult = null;

    if (hasResult(p)) {
        for (Result r : eventResults) {

            if (p.equals(r.getParticipant())) {

                double res = r.getResult();

                if (res > best) {
                    best = res;
                    bestResult = r;
                }
            }
        }
    }
    return bestResult;
}

关于java - 如何在ArrayList中找到具有最大属性值的对象(使用不同的类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41988434/

相关文章:

Java静态方法: Create object of current type

java - 对象传递给java中的方法

object - 命令行参数 - 需要对象 : 'objshell.NameSpace(...)'

python - 为什么我的类(class)会引发 AttributeError?

Java线程-非法监视器状态异常

java - 有条件地分配变量以匹配 xslt 模板中的路径

java - 返回一个新字符串,所有出现的输入字符都移到末尾

java - 访问对象内对象的 setter

c# - 如何从 ObservableCollection 中获取第一个对象?

java - Circles().list 命令给出错误