La première question que vous devez vous poser est de savoir si vous avez vraiment besoin de l'ID au hasard. Parfois, séquentielle Id sont assez bonnes.
Maintenant, si vous avez besoin d'être aléatoire, nous avons d'abord noter un générateur de séquence de nombres qui contiennent aucun duplicata ne peut pas être appelée de façon aléatoire. :p Maintenant que nous obtenons de la sorte, le moyen le plus rapide de le faire est d'avoir un Hashtable
ou HashMap
contenant tous les Id déjà généré. Chaque fois qu'un nouveau code est généré, vérifier à l'encontre de la table de hachage, les re-générer si l'ID existe déjà. Ce sera généralement bien fonctionner si le nombre d'étudiants est beaucoup moins que la gamme de l'IDs. Si non, vous êtes dans un problème plus profond que la probabilité d'avoir besoin de se régénérer un ID augmente, P(générer de nouvelles ID) = number_of_id_already_generated / number_of_all_possible_ids. Dans ce cas, vérifier le premier paragraphe (avez-vous besoin de l'ID au hasard?).
Espérons que cette aide.