Listez un tableau de chaînes dans l’ordre alphabétique

J’ai un programme dans lequel l’utilisateur entre une liste de noms. J’ai un commutateur qui va à une fonction pour laquelle je voudrais que les noms soient imprimés par ordre alphabétique.

public static void orderedGuests(Ssortingng[] hotel) { //?? } 

J’ai essayé les deux

 Arrays.sort(hotel); System.out.println(Arrays.toSsortingng(hotel)); 

et

 java.util.Collections.sort(hotel); 

Bizarre, votre code semble fonctionner pour moi:

 import java.util.Arrays; public class Test { public static void main(Ssortingng[] args) { // args is the list of guests Arrays.sort(args); for(int i = 0; i < args.length; i++) System.out.println(args[i]); } } 

J'ai exécuté ce code en utilisant "java Test Bobby Joe Angel" et voici la sortie:

 $ java Test Bobby Joe Angel Angel Bobby Joe 

La première chose que vous avez essayée semble bien fonctionner. Voici un exemple de programme.
Appuyez sur le bouton “Démarrer” en haut de cette page pour l’exécuter pour voir la sortie vous-même.

 import java.util.Arrays; public class Foo{ public static void main(Ssortingng[] args) { Ssortingng [] ssortingngArray = {"ab", "aB", "c", "0", "2", "1Ad", "a10"}; orderedGuests(ssortingngArray); } public static void orderedGuests(Ssortingng[] hotel) { Arrays.sort(hotel); System.out.println(Arrays.toSsortingng(hotel)); } } 

Vous pouvez simplement utiliser Arrays#sort() , cela fonctionne parfaitement. Voir cet exemple:

 Ssortingng [] a = {"English","German","Italian","Korean","Blablablabla.."}; //before sort for(int i = 0;i 

Voici le code qui fonctionne:

 import java.util.Arrays; import java.util.Collections; public class Test { public static void main(Ssortingng[] args) { orderedGuests1(new Ssortingng[] { "c", "a", "b" }); orderedGuests2(new Ssortingng[] { "c", "a", "b" }); } public static void orderedGuests1(Ssortingng[] hotel) { Arrays.sort(hotel); System.out.println(Arrays.toSsortingng(hotel)); } public static void orderedGuests2(Ssortingng[] hotel) { Collections.sort(Arrays.asList(hotel)); System.out.println(Arrays.toSsortingng(hotel)); } } 

java.util.Collections.sort (listOfCountryNames, Collator.getInstance ());

Par ordre alphabétique, je suppose que l’ordre est: A | a

Je suggérerais d’avoir une méthode de comparaison de classe implémenter de Comparator-interface comme

 public int compare(Object o1, Object o2) { return o1.toSsortingng().compareToIgnoreCase(o2.toSsortingng()); } 

et à partir de la méthode d’appel, invoquez la méthode Arrays.sort avec un comparateur personnalisé sous la forme:

 Arrays.sort(inputArray, customComparator); 

Résultats observés: tableau d’entrée: “Vani”, “Kali”, “Mohan”, “Soni”, “kuldeep”, “Arun”

la sortie (ordre alphabétique) est: Arun, Kali, Kuldeep, Mohan, Soni, Vani

La sortie (ordre naturel en exécutant Arrays.sort (inputArray) est: Arun, Kali, Mohan, Soni, Vani, kuldeep

Ainsi, dans le cas d’un ordre naturel, [Vani

pour plus de compréhension de l’ordre naturel et alphabétique / lexical, visitez la discussion ici

 **//With the help of this code u not just sort the arrays in alphabetical order but also can take ssortingng from user or console or keyboard import java.util.Scanner; import java.util.Arrays; public class ReadName { final static int ARRAY_ELEMENTS = 3; public static void main(Ssortingng[] args) { Ssortingng[] theNames = new Ssortingng[5]; Scanner keyboard = new Scanner(System.in); System.out.println("Enter the names: "); for (int i=0;i 

Arrays.sort (ssortingngArray); Ceci sortinge le tableau de chaînes en fonction des valeurs de caractères Unicode. Toutes les chaînes contenant des caractères majuscules au début de la chaîne seront en haut de la liste sortingée, suivies par ordre alphabétique, suivies de toutes les chaînes contenant des lettres minuscules. Par conséquent, si le tableau contient des chaînes commençant par des caractères majuscules et minuscules, le tableau sortingé ne renverra pas de liste alphabétique sans tenir compte de la casse.

 Ssortingng[] strArray = { "Carol", "bob", "Alice" }; Arrays.sort(strList); System.out.println(Arrays.toSsortingng(hotel)); 

La sortie est: Alice, Carol, Bob,

Si vous souhaitez que les chaînes soient sortingées sans tenir compte de la casse, vous aurez besoin d’un deuxième argument, un comparateur, pour Arrays.sort (). Un tel comparateur a déjà été écrit pour nous et est accessible en tant que statique dans la classe Ssortingng nommée CASE_INSENSITIVE_ORDER.

 Ssortingng[] strArray = { "Carol", "bob", "Alice" }; Arrays.sort(ssortingngArray, Ssortingng.CASE_INSENSITIVE_ORDER); System.out.println(Arrays.toSsortingng(strArray )); 

La sortie est: Alice, Bob, Carol

Vous pouvez utiliser la méthode Arrays.sort (). Voici l’exemple,

 import java.util.Arrays; public class Test { public static void main(Ssortingng[] args) { Ssortingng arrSsortingng[] = { "peter", "taylor", "brooke", "frederick", "cameron" }; orderedGuests(arrSsortingng); } public static void orderedGuests(Ssortingng[] hotel) { Arrays.sort(hotel); System.out.println(Arrays.toSsortingng(hotel)); } } 

Sortie

[brooke, cameron, frederick, peter, taylor]