Java >> Tutoriel Java >  >> Java

Programme Java pour trier un tableau par ordre alphabétique

Dans ce tutoriel, nous allons apprendre à trier les éléments d'un tableau par ordre alphabétique. Le tri consiste à organiser les données par ordre alphabétique ou numérique. Mais avant d'aller plus loin, si vous n'êtes pas familier avec les concepts du tableau, alors consultez l'article Tableaux en Java.

Saisie : a n m w r t s p

Sortie : a m n p r s t w

Le problème ci-dessus peut être résolu de la manière suivante :

Approche 1 :Utiliser compareTo()

Approche 2 :Utiliser Arrays.sort()

Approche 3 :Utiliser reverseOrder()

Examinons chacune de ces méthodes séparément.

Programme 1 :Trier un tableau par ordre alphabétique

Dans cette approche, nous allons trier un tableau par ordre alphabétique en comparant chaque élément avec les autres éléments.

Algorithme

  1. Démarrer
  2. Déclarer un tableau
  3. Initialiser le tableau
  4. Utilisez deux boucles for pour trier le tableau par ordre alphabétique.
  5. Utilisez la première boucle for pour contenir les éléments.
  6. Utilisez la deuxième boucle for pour comparer avec les éléments restants.
  7. Utilisez compareTo() pour comparer.
  8. Échangez les éléments du tableau.
  9. Imprimer le tableau mis à jour.
  10. Arrêter

Vous trouverez ci-dessous le code correspondant.

Le programme ci-dessous montre comment trier un tableau par ordre alphabétique en utilisant compareTo() méthode.

//Java Program to sort an array in alphabetical order.
import java.util.Arrays;  
import java.util.Scanner;

public class Main  
{  
   public static void main(String args[])   
   {  
      Scanner sc=new Scanner(System.in);
      int n;   //Declare the array size
      System.out.println("Enter the number of elements ");
      n=sc.nextInt();    //Initialize the array size

      String fruits[]=new String[n];   //Declare the array
      System.out.println("Enter the String ");
      Scanner sc1=new Scanner(System.in);    
      for(int i=0; i<n ;i++)     //Initialize the array
      {
          fruits[i]=sc1.nextLine();
      }
 
        //logic for sorting     
         for(int i = 0; i<n; i++)   //Holds each element
         {  
             for (int j = i+1; j<n; j++)  //Check for remaining elements 
             {  
                //compares each elements of the array to all the remaining elements  
                if(fruits[i].compareTo(fruits[j])>0)   
                {  
                    //swapping array elements  
                    String temp = fruits[i];  
                    fruits[i] = fruits[j];  
                    fruits[j] = temp;  
                 }  
              }  
           }  
           //prints the sorted array in alphabetical order  
           System.out.println(Arrays.toString(fruits));  
       }  
}  


Entrez le nombre d'éléments du tableau :10
Entrez les éléments du tableau :
Pomme
Custard Apple
Banane
Kiwi
Goyave
Orange
Papaye
Mûre
Datte
Raisin
[Pomme, Banane, Mûre, Pomme cannelle, Datte, Raisin, Goyave, Kiwi, Orange, Papaye , ]

Programme 2 :Trier un tableau par ordre alphabétique

Dans cette approche, nous allons trier un tableau par ordre alphabétique en utilisant la méthode Arrays.sort().

Algorithme

  1. Démarrer
  2. Déclarer un tableau
  3. Initialiser le tableau
  4. Appelez le Arrays.sort() fonction pour trier le tableau par ordre alphabétique.
  5. Imprime le tableau trié.
  6. Arrêtez.

Vous trouverez ci-dessous le code correspondant.

Le programme ci-dessous montre comment trier un tableau par ordre alphabétique en utilisant Arrays.sort() méthode.

//Java Program to sort an array in alphabetical order.
import java.util.Arrays;  
import java.util.Scanner;

public class Main  
{  
   public static void main(String args[])   
   {  
      Scanner sc=new Scanner(System.in);
      Scanner sc1=new Scanner(System.in);

      int n;    //Declare array size
      System.out.println("Enter the number of elements ");
      n=sc.nextInt();     //Initialize array size

      String str[]=new String[n];   //Declare array
      System.out.println("Enter the String ");
      for(int i=0; i<n ;i++)     //Initialize array
      {
          str[i]=sc1.nextLine();
      }

      Arrays.sort(str);    //Sort the array in alphabetical order

      System.out.println(Arrays.toString(str));  //Display the array
   }  
}  


Entrez le nombre d'éléments
5
Entrez la chaîne
france
inde
chine
allemagne
italie
[chine, france, allemagne, inde, italie]

Programme 3 :Trier un tableau par ordre alphabétique

Dans cette approche, nous allons trier un tableau par ordre alphabétique en utilisant Arrays.sort() puis triez-le à nouveau dans l'ordre inverse en utilisant reverseOrder() méthode.

Algorithme

  1. Démarrer
  2. Déclarer un tableau
  3. Initialiser le tableau
  4. Appelez le Arrays.sort() fonction pour trier le tableau par ordre alphabétique.
  5. Appelez ensuite le reverseOrder() pour trier le tableau dans l'ordre inverse.
  6. Imprime le tableau trié.
  7. Arrêtez.

Vous trouverez ci-dessous le code correspondant.

Explication :Le programme ci-dessous montre comment trier un tableau dans l'ordre alphabétique inverse à l'aide de reverseOrder() méthode.

/*Java Program to sort an array alphabetically in reverse order*/
import java.util.Arrays;  
import java.util.Scanner;
import java.util.*;  

public class Main  
{  
   public static void main(String args[])   
   {  
      Scanner sc=new Scanner(System.in);
      Scanner sc1=new Scanner(System.in);

      int n;    //Declare array size
      System.out.println("Enter the number of elements ");
      n=sc.nextInt();     //Initialize array size

      String str[]=new String[n];   //Declare array
      System.out.println("Enter the String ");
      for(int i=0; i<n ;i++)     //Initialize array
      {
          str[i]=sc1.nextLine();
      }

      Arrays.sort(str,Collections.reverseOrder());    //Sort the array in alphabetical order

      System.out.println(Arrays.toString(str));  //Display the array
   }  
}  


Entrez le nombre d'éléments
5
Entrez la chaîne
Mumbai
Pune
Chennai
Ranchi
Kolkata
[Ranchi, Pune, Bombay, Calcutta, Chennai]


Balise Java