Junior — Middle
Peut-on obtenir une itération plus rapide sur une liste par rapport à une Map dans les langages de programmation?
sobes.tech IA
Réponse de l'IA
Oui, l'itération sur un slice en Go est généralement plus rapide que sur une Map, car un slice est un tableau séquentiel d'éléments, tandis qu'une Map est une table de hachage avec une structure plus complexe.
L'itération sur un slice se fait de manière séquentielle en mémoire, ce qui est bien mis en cache par le processeur, alors qu'une Map nécessite de calculer des hash et peut avoir un ordre d'itération arbitraire.
Exemple d'itération sur un slice:
slice := []int{1, 2, 3, 4, 5}
for _, v := range slice {
fmt.Println(v)
}
Itération sur une Map:
m := map[string]int{"a":1, "b":2}
for k, v := range m {
fmt.Println(k, v)
}
Ainsi, si la vitesse de parcours et l'ordre sont importants, il vaut mieux utiliser des slices.