2011-12-14 3 views
1

J'ai essayé de m'enseigner Lambdaj et il ne semble pas vouloir randomiser mon tableau de cordes. Dois-je ajouter les chaînes à une liste pour pouvoir travailler avec la collection avec Lambdaj. Tout ce que je veux faire est de prendre une collection de chaînes et les imprimer dans un ordre aléatoire en utilisant LambdaJ.LambdaJ Experts ... comment randomiser la sortie

String[] name = {"Me", "you", "them", "us", "Him", "Mr.T"}; 
String[] randomNames = sort(name, on(Random.class)); 

ou ...

String[] randomNames = sort(name, on(String.class).???); 

Pas la moindre idée quoi faire avec cela. Il n'y a pas beaucoup d'aide sur LambdaJ.

+0

sort est pour le tri pas pour la randomisation, c'est le contraire complet de la randomisation – oers

+0

Merci pour cela ... –

Répondre

3

Je suis l'auteur de lambdaj, mais je ne comprends pas pourquoi vous prévoyez de randomiser une liste d'éléments avec elle. Et pour être honnête, je ne comprends pas non plus pourquoi vous pensez que la méthode de tri (les orateurs ont déjà fait remarquer que le tri est le contraire de la randomisation) devrait le faire.

Quoi qu'il en soit, je crois que la lecture aléatoire méthode statique de la classe des collections doit faire ce que vous avez besoin:

Collections.shuffle(names) 

J'espère que cela aide.

+0

Merci Mario, qui a été la réponse choisie pour moi. Comme pour trier ... Pouvez-vous trier un article comme vous le souhaitez? Ascendant, Descendant, par date modifiée ... au hasard? Je ne les considère pas comme des opposés, mais je comprends ce que vous penseriez. Merci pour toute votre aide d'ici, et le courriel précédent. J'ai hâte d'en savoir plus sur lambdaj dans un proche avenir. –