Tirer hasard les éléments d'un vecteur java

Résolu/Fermé
keurdange Messages postés 720 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 13 juillet 2016 - Modifié par keurdange le 25/11/2011 à 19:57
keurdange Messages postés 720 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 13 juillet 2016 - 26 nov. 2011 à 16:43
Bonjour,

Voilà, tout est dit dans le titre: comment tirer au hasard les éléments d'un vecteur (vector) sachant qu'on ajoute des string?

Merci.



Dieu n'a fait qu'ébaucher l'homme, c'est sur terre que chacun se crèe
A voir également:

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
25 nov. 2011 à 20:55
Tu choisis un nombre aléatoire (voir Random.getInt) entre 0 et size()-1 et tu récupères la valeur avec get... Bref rien de bien compliqué !
Remarque (toujours dans la documentation) : "If a thread-safe implementation is not needed, it is recommended to use ArrayList in place of Vector"
0
keurdange Messages postés 720 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 13 juillet 2016 231
25 nov. 2011 à 22:34
Thks mais je comprends toujours pas. J'ai même consulté l'API sans y trouvé ce que je cherchai. Peux tu me donner un petit exemple stp?
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
25 nov. 2011 à 22:45
Petit exemple qui reprend exactement ce que j'ai dit plus haut (mais générique car c'est plus joli ^^)

private static final Random rd = new Random();

public static <E> E ploufplouf(List<E> list)
{
	return list.get(rd.nextInt(list.size()));
}

public static void main(String...args)
{
	Vector<String> v = new Vector<String>();
		v.add("tata");
		v.add("tete");
		v.add("titi");
		v.add("toto");
		v.add("tutu");
		
	System.out.println(ploufplouf(v));
	
	ArrayList<String> al = new ArrayList<String>();
		al.add("papa");
		al.add("pepe");
		al.add("pipi");
		al.add("popo");
		al.add("pupu");

	System.out.println(ploufplouf(al));
}
0
keurdange Messages postés 720 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 13 juillet 2016 231
25 nov. 2011 à 23:17
A quoi servent les <E> et E?
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
25 nov. 2011 à 23:27
C'est pour être générique. Regarde la documentation par exemple Vector, il y a plein de <E> aussi, ça te permet de mettre n'importe quelle classe à la place...
0
keurdange Messages postés 720 Date d'inscription lundi 8 novembre 2010 Statut Membre Dernière intervention 13 juillet 2016 231
26 nov. 2011 à 00:08
Sorry si je ne comprend pas tout de suite. Ca permet de mettre n'importe quelle classe à la place de......?
0