【问题标题】:min max values of a List<double[]>List<double[]> 的最小最大值
【发布时间】:2011-11-11 11:14:04
【问题描述】:

我有一个数组

List<double[]> values = new ArrayList<double[]>();
values.add(new double[] { 12.3, 12.5, 13.8, 16.8, 20.4, 24.4, 26.4, 26.1, 23.6, 20.3, 17.2,
    13.9 });
values.add(new double[] { 10, 10, 12, 15, 20, 24, 26, 26, 23, 18, 14, 11 });
values.add(new double[] { 5, 5.3, 8, 12, 17, 22, 24.2, 24, 19, 15, 9, 6 });
values.add(new double[] { 9, 10, 11, 15, 19, 23, 26, 25, 22, 18, 13, 10 });

如何找到最大值和最小值?

【问题讨论】:

  • collection.min 但它抱怨 double[]
  • 您实际上在搜索什么?具有每个列表条目的最大值/最小值的 List? double[] 类型的一个最小值和一个最大值?如果是这样,如何比较两个 double[]?
  • 我基本上想要示例中这些值的最小值和最大值。或者如果不能这样做,那么每行的最大值和最小值。

标签: java android arrays list


【解决方案1】:

试试

double min=Double.MAX_VALUE, max=Double.MIN_VALUE;
for (double[] ds : values) {
    for (double d : ds) {
        if (d > max) max=d;
        if (d < min ) min=d;

    }
}

【讨论】:

  • 这似乎已经成功了,谢谢。有什么理由我不能使用最小例程的集合吗?
  • double 是原语,Collections.min() 需要非原语并且您不能自动装箱数组。
【解决方案2】:

这个方法也很有用:

public double getMaxValue(List<Double> values){
   double maxValue = Double.MIN_VALUE;
   for(Double d : values){
      if(d > maxValue){
         d = maxValue
      }
   }
}

【讨论】:

  • 我喜欢这个,它更有凝聚力。
猜你喜欢
  • 1970-01-01
  • 2014-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-29
  • 1970-01-01
相关资源
最近更新 更多