2010-10-16 17 views
5

Voici ce que je viens d'écrire:meilleur style pour itérer deux listes à l'unisson

public void mutate(){ 
    ListIterator<Double> git = genome.listIterator(); 
    Iterator<Double> mit = mutationStrategies.iterator(); 
    while (git.hasNext() && mit.hasNext()){ 
     git.set(alleleUpdate(git.next(), mit.next())); 
    } 

} 

Est-ce la façon la plus efficace et la plus claire de le faire? Tout ce qu'il faut savoir, c'est que la liste du génome définit ses valeurs en fonction d'une fonction qui prend sa valeur actuelle et la valeur actuelle de mutationStrategies. (Si vous êtes en évolution, c'est pour un algorithme d'Evolution Strategies).

Répondre

2

Il est difficile d'imaginer comment cela pourrait être plus serré. "Remplacer chaque git (quels qu'ils soient) avec une version mutée de lui-même, en arrêtant si nous manquons de stratégies de mutation."