Java 获取找到的最大双精度

Java 获取找到的最大双精度,java,vector,comparison,double,Java,Vector,Comparison,Double,我已经创建了许多“向量”,每个向量都有自己的“适合度”。适合度是使用适合度函数(已经完成)得到的。 例如: Vector v1 = new Vector(); Vector v2 = new Vector(); V1 = // some data V2 = // some other data double fitness1 = fitness(v1); double fitness2 = fitness(v2); 现在我有数百个向量,每个向量都有自己的适合度,我正在尝试创建一个名为glob

我已经创建了许多“向量”,每个向量都有自己的“适合度”。适合度是使用适合度函数(已经完成)得到的。
例如:

Vector v1 = new Vector();
Vector v2 = new Vector();
V1 = // some data 
V2 = // some other data
double fitness1 = fitness(v1);
double fitness2 = fitness(v2);
现在我有数百个
向量
,每个向量都有自己的适合度,我正在尝试创建一个名为
globalbest
的函数,它返回适合度最好的
向量
,但并不总是得到最好的!!谁能帮我一下吗?下面是代码:

   public Vector globalbest(Vector allPopulation) {
    Vector global = new Vector();
    double max = 0;
    for (int i = 0; i < allPopulation.size(); i++) {
        double value = fitness((Vector) allPopulation.get(i));
        if (value > max) {
            global = (Vector) allPopulation.get(i);
            max = value ;
        }
    }
    return global;
}
public Vector globalbest(Vector allPopulation){
向量全局=新向量();
双最大值=0;
对于(int i=0;i最大值){
全局=(向量)allPopulation.get(i);
最大值=最大值;
}
}
回归全球;
}

如果您想要从一组项目中获得最大值的项目,这样做就足够了:

Item maxItem = null;
int maxValue = 0;
for( Item item : items ) {
    if( item.value() > maxValue ) {
        maxItem = item;
        maxValue = item.value();
    }
}
return maxItem;

你为什么用向量?你知道它们已经被弃用了吗?@Blaine我刚刚发现它们适合我的项目,所以我和Vector一起工作。你为什么有很多vectors?使用arrayList代替为什么不使用
arrayList
?请看:@Blaine您从何处获得此“向量已弃用”业务?即使在Java8中,它们也没有被弃用……如果需要线程安全,那么ArrayList不会削减它。也就是说,由于线程安全带来的额外开销以及由此带来的性能损失,向量已经过时了,这让我们回到了Ghassen…向量?为什么?是的,雷,这就是我要做的事情和你提到的一样,但是item.Value()对我来说和fitness(item)是一样的,它返回一个
double
值,但它没有给我一个正确的结果!!:/如果您的数据只包含负数怎么办?@9000 ah不,适合度是一个
双倍值
始终介于0和0之间1@RayStojonic,我忘了更新你在例子中提到的最大值!我将把你的答案看作是我的问题的正确答案,并改正我上面和XYX的函数;9000如果有问题,则初始化为
.MIN\u值