Tri d'un tableau de chaînes de caractères par ordre alphabétique en groovy
Donc j'ai appris à travailler avec des tableaux en Groovy. Je me demande comment trier un tableau de chaînes par ordre alphabétique. Mon code pour l'instant, prend de la chaîne d'entrée de l'utilisateur et de les imprimer dans l'ordre et l'ordre inverse:
System.in.withReader {
def country = []
print 'Enter your ten favorite countries:'
for (i in 0..9)
country << it.readLine()
print 'Your ten favorite countries in order/n'
println country //prints the array out in the order in which it was entered
print 'Your ten favorite countries in reverse'
country.reverseEach { println it } //reverses the order of the array
Comment pourrais-je aller sur leur impression par ordre alphabétique?
OriginalL'auteur Inquirer21 | 2013-12-04
Vous devez vous connecter pour publier un commentaire.
sort()
est votre ami.country.sort()
va triercountry
par ordre alphabétique, la mutation decountry
dans le processus.country.sort(false)
va triercountry
par ordre alphabétique, de retour de la liste triée.Si vous souhaitez trier par ordre alphabétique (c'est à dire au cas insensiblement, selon les règles de votre pays) plutôt que par des points de code Unicode, utilisez
country.sort(java.text.Collator.instance)
.ooh, c'est chouette!
Est-il un moyen facile de trier par ordre alphabétique, mais décroissant (de z..a) ?
soit
.sort().reverse()
ou vous pouvez utiliser un personnalisé fermeture pour trier dans l'ordre inverse en une seule étape.OriginalL'auteur doelleri