Android 确定5个双精度值中的最高双精度值

Android 确定5个双精度值中的最高双精度值,android,Android,我开发了一个手势应用程序。为此,我需要绘制手势的最高得分值 所以我得到了5个不同的双倍分值,如下所示: 06-04 00:38:34.605 21423-21423/de.gestureanywhere D/score﹕ score 3.6936744465393905|GOF2 06-04 00:38:34.605 21423-21423/de.gestureanywhere D/score﹕ score 2.021340609760623|Uhr 06-04 00:38:34.610

我开发了一个手势应用程序。为此,我需要绘制手势的最高得分值

所以我得到了5个不同的双倍分值,如下所示:

06-04 00:38:34.605  21423-21423/de.gestureanywhere D/score﹕ score 3.6936744465393905|GOF2
06-04 00:38:34.605  21423-21423/de.gestureanywhere D/score﹕ score 2.021340609760623|Uhr
06-04 00:38:34.610  21423-21423/de.gestureanywhere D/score﹕ score 1.942381354120031|Spare Parts
06-04 00:38:34.610  21423-21423/de.gestureanywhere D/score﹕ score 1.1174127455877019|Screenshot Leicht
06-04 00:38:34.610  21423-21423/de.gestureanywhere D/score﹕ score 1.025620059028788|Shell
如何以编程方式获得这些值的最高双倍值
prediction.score
(在本例中为3.69)

感谢您的帮助

使用:

Double.MAX_VALUE 

保持double型最大正有限值的常数, (2-2-52)·21023. 它等于十六进制浮点文字 0x1.ffffffffffp+1023,也等于 Double.longBitsToDouble(0x7fefffffffffffl)

更新:
List values=new ArrayList();
添加(新的双精度[]{3.6936744465393905});
添加(新的双精度[]{2.021340609760623});
添加(新的双精度[]{1.942381354120031});
添加(新的双精度[]{1.11741274558777019});
添加(新的双精度[]{1.02562059028788});
双最小值=双最大值,最大值=双最小值;
for(双[]ds:值){
用于(双d:ds){
如果(d>max)max=d;
如果(d
使用:

保持double型最大正有限值的常数, (2-2-52)·21023. 它等于十六进制浮点文字 0x1.ffffffffffp+1023,也等于 Double.longBitsToDouble(0x7fefffffffffffl)

更新:
List values=new ArrayList();
添加(新的双精度[]{3.6936744465393905});
添加(新的双精度[]{2.021340609760623});
添加(新的双精度[]{1.942381354120031});
添加(新的双精度[]{1.11741274558777019});
添加(新的双精度[]{1.02562059028788});
双最小值=双最大值,最大值=双最小值;
for(双[]ds:值){
用于(双d:ds){
如果(d>max)max=d;
如果(d
如果列表中有值

public double getMaxValue(List<Double> values){
   double maxValue = Double.MIN_VALUE;
   for(Double d : values){
      maxValue = d > maxValue ? d : maxValue;
   }
}
public双精度getMaxValue(列表值){
双最大值=双最小值;
for(双d:值){
maxValue=d>maxValue?d:maxValue;
}
}
或者如果担心性能

public double getMaxValue(List<Double> values){
   double maxValue = Double.MIN_VALUE;
   for(Double d : values){
      if(d > maxValue){
         d = maxValue
      }
   }
}
public双精度getMaxValue(列表值){
双最大值=双最小值;
for(双d:值){
如果(d>最大值){
d=最大值
}
}
}

第一个值总是赋值,而第二个值只有在新值大于旧值时才赋值。

如果列表中有值

public double getMaxValue(List<Double> values){
   double maxValue = Double.MIN_VALUE;
   for(Double d : values){
      maxValue = d > maxValue ? d : maxValue;
   }
}
public双精度getMaxValue(列表值){
双最大值=双最小值;
for(双d:值){
maxValue=d>maxValue?d:maxValue;
}
}
或者如果担心性能

public double getMaxValue(List<Double> values){
   double maxValue = Double.MIN_VALUE;
   for(Double d : values){
      if(d > maxValue){
         d = maxValue
      }
   }
}
public双精度getMaxValue(列表值){
双最大值=双最小值;
for(双d:值){
如果(d>最大值){
d=最大值
}
}
}

第一个值总是赋值,而第二个值只有在新值大于旧值时才赋值。

对不起。我需要这5个值中最高的双倍值(因此在本例中为3.69),对不起。我需要这5个值中最高的双倍值(因此在本例中为3.69)