获得最大双倍

时间:2013-09-19 23:20:57

标签: 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);

现在我有数百个Vectors并且每个人都拥有它自己的健身,我正在尝试创建一个名为globalbest的函数,它返回具有最佳健身状态的Vector,但并不总是得到最好的 !!有人可以帮我吗?这是代码:

   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;
}

1 个答案:

答案 0 :(得分:0)

如果您希望项目具有来自一组项目的最大值,则此类内容就足够了:

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