Itérer en toute sécurité à l'aide d'itérateurs
Modifier une collection tout en l'itérant à l'aide une boucle foreach peut conduire à des erreurs. Pour supprimer des éléments en toute sécurité pendant l'itération, utilisez un itérateur explicite.
List<String> names = ... Iterator<String> i = names.iterator(); while (i.hasNext()) { String s = i.next(); if (...) { i.remove(); } }
Exception de modification simultanée
Sans utiliser d'itérateur, le code échouera avec une ConcurrentModificationException si le la collection est modifiée au cours de l’itération. L'itérateur explicite garantit que les modifications sont suivies et reflétées dans la collection sous-jacente.
Remarque sur la suppression imbriquée
Dans l'exemple fourni, la boucle while interne continue de supprimer le même élément jusqu’à ce qu’il n’existe plus. Bien que techniquement légal, cela est généralement considéré comme une mauvaise pratique, sauf s'il y a une raison très spécifique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!