Java >> Tutoriel Java >  >> Tag >> String

Trier la chaîne en Java

Trier la chaîne en Java | Il existe de nombreuses opérations de chaîne dans lesquelles nous verrons comment trier une chaîne en Java, ici nous assemblons des éléments de chaîne dans un format spécifié croissant ou décroissant. Pour trier les chaînes en Java, il n'y a pas de méthode intégrée, nous devons les convertir en caractères et les trier.

Comment trier une chaîne en Java

Comme indiqué ci-dessus, il n'y a pas de méthode intégrée pour trier les chaînes en Java, appliquez donc les autres méthodes l'une après l'autre pour trier les chaînes. Les chaînes sont immuables, c'est-à-dire qu'elles ne peuvent pas être modifiées une fois créées. Dans cette section, discutons de deux méthodes pour trier les chaînes en Java.

  1. Avec Arrays.sort()
  2. Sans Arrays.sort()

Tout d'abord, nous verrons comment trier une chaîne à l'aide de la méthode Arrays.sort() :-

1) Étape 1 : - Classe d'importation de tableaux disponible en Java.
2) Étape 2 :Déclarez une méthode pour trier la chaîne donnée à l'aide de la méthode sort(). Dans cette méthode, nous convertissons la chaîne en caractères, puis utilisez la méthode sort() pour trier le caractère et renvoyer les caractères triés.

public static String sortString(String string) {

   // convert string to char array
   char charArray[] = string.toCharArray();

   // sort char array
   Arrays.sort(charArray);

   // return after converting char array to string 
   return new String(charArray);
}

3) Étape 3 :- Dans la méthode principale, nous prendrons une chaîne et appellerons la méthode sortString() et passerons la chaîne comme argument et imprimerons à la fois la chaîne et la chaîne triée.

import java.util.Arrays;

public class Main {
   public static String sortString(String string) {
      char charArray[] = string.toCharArray();
      Arrays.sort(charArray);
      return new String(charArray);
   }

   public static void main(String[] args) {
      String string = "Know Program";
      String sortedString = sortString(string);
      System.out.println("Given String: " + string);
      System.out.println("Sorted String: " + sortedString);
   }
}

Sortie :

Chaîne donnée :Know Program
Chaîne triée :KPagmnoorrw

Maintenant, nous allons voir comment trier sans utiliser la méthode Arrays.sort(). Étapes pour trier les chaînes sans utiliser de méthode prédéfinie sort() :-

  1. Déclarez une variable int "k" et attribuez-lui 0. De même, déclarez une variable char et attribuez-lui 0.
  2. Convertissez la chaîne donnée en caractère en utilisant toCharArray() et lisez tous les éléments en utilisant des boucles for imbriquées.
  3. Si le caractère est supérieur, permutez-le en utilisant la variable temporaire temp.
  4. Convertir un tableau de caractères triés en chaîne.
public class Main {
   public static void main(String[] args) {
      String string = "Know Program";
      System.out.println("Given String: " + string);
      int k = 0;
      char temp = 0;
      char[] chars = string.toCharArray();
      for (int i = 0; i < chars.length; i++) {
         for (k = 0; k < chars.length; k++) {
            if (chars[k] > chars[i]) {
               temp = chars[i];
               chars[i] = chars[k];
               chars[k] = temp;
            }
         }
      }
      String sortedString = new String(chars);
      System.out.println("Sorted String: " + sortedString);
   }
}

Sortie :

Chaîne donnée :Know Program
Chaîne triée :KPagmnoorrw

Trier le tableau de chaînes Java

Ici, nous allons trier une chaîne de tableaux dans l'ordre croissant et décroissant.

Pour cette première, nous devons importer la classe Arrays et la classe Collections. Initialisez un tableau de chaînes à array[ ], utilisez Arrays.sort() pour trier le tableau de chaînes dans l'ordre croissant et utilisez Collections.reverseOrder() pour trier dans l'ordre décroissant. Imprimez le résultat. Pour afficher le tableau, nous pouvons utiliser la méthode Arrays.toString().

import java.util.Arrays;
import java.util.Collections;

public class Main {
   public static void main(String[] args) {
      String array[] = { "program", "website", "know" };
      System.out.println("String Array: " + Arrays.toString(array));

      Arrays.sort(array);
      System.out.println("Ascending  Array: " + Arrays.toString(array));

      Arrays.sort(array, Collections.reverseOrder());
      System.out.println("Descending Array: " + Arrays.toString(array));
   }
}

Sortie :

Tableau de chaînes :[programme, site Web, savoir]
Tableau croissant :[savoir, programme, site Web]
Tableau décroissant :[site Web, programme, savoir]

Trier un tableau de chaînes en Java à l'aide de compareto

Nous allons trier le tableau de chaînes à l'aide de la méthode compareTo().

import java.util.Arrays;

public class Main {
   public static void main(String args[]) {
      String[] language = 
          { "Kotlin", "JavaScript", "SQL", "Java", "Python" };
      for (int i = 0; i < language.length - 1; i++) {
         for (int j = i + 1; j < language.length; j++) {
            if (language[i].compareTo(language[j]) > 0) {
               String temp = language[i];
               language[i] = language[j];
               language[j] = temp;
            }
         }
      }
      System.out.println(Arrays.toString(language));
   }
}

Sortie :

[Java, JavaScript, Kotlin, Python, SQL]

Trier la liste des chaînes Java

Pour trier une liste de chaînes, utilisez la méthode sort() disponible dans le framework des collections de classes Collections (package java.util).

import java.util.ArrayList;
import java.util.Collections;

public class Main {
   public static void main(String[] args) {
      ArrayList<String> list = new ArrayList<String>();
      list.add("Henry");
      list.add("Albert");
      list.add("Robert");
      list.add("Harry");
      list.add("Clove");
      Collections.sort(list);
      System.out.println(list);
   }
}

Sortie :

[Albert, Clou de girofle, Harry, Henri, Robert]


Balise Java