Maison  >  Article  >  Java  >  Trier la chaîne en Java

Trier la chaîne en Java

王林
王林original
2024-08-30 15:32:111041parcourir

Le tri d'une chaîne en Java n'est pas une fonctionnalité Java intégrée dans laquelle une méthode directe est disponible dans la bibliothèque Java pour trier la chaîne, bien que Java fournisse des techniques pour trier un tableau d'éléments à l'aide de Arrays.sort. En utilisant quelques méthodes différentes fournies par la bibliothèque Java, nous pouvons trier facilement en Java et le tri d'une chaîne a différents cas d'utilisation dans n'importe quelle application Java.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Comment trier une chaîne en Java de différentes manières ?

Il dispose de 2 techniques principales qui peuvent être utilisées par le développeur en fonction du cas d'utilisation.

  • Technique 1 : Utilisation d'Array.sort().
  • Technique 2 : Utilisation d'un comparateur personnalisé pour trier la chaîne en Java.
  • Technique 3 : Utilisation des fonctionnalités de flux Java 8 avec Strings.chars.

1. Technique 1 – Utilisation de Array.sort()

C'est une technique très simple et directe. La façon dont nous trions les tableaux d'éléments en Java de la même manière que nous et une logique similaire seront appliquées.

Pour mettre en œuvre cette technique, voici les étapes et un exemple de ce tri :

  • Étape 1 : Récupérez la chaîne d'entrée de l'utilisateur et convertissez la chaîne d'entrée en tableau de caractères à l'aide de la méthode Arrays.toCharArray() présente dans java.util.Arrays
  • Étape 2 : Appliquez un tri naturel à ce tableau de caractères nouvellement créé à l'aide de la méthode Arrays.sort qui est également présente dans le même pot java.util.Arrays.
  • Étape 3 : Convertissez ce tableau trié de caractères en chaîne à l'aide de la classe de chaîne Java et stockez la chaîne nouvellement créée dans un objet chaîne car les chaînes sont immuables

Exemple :

Code :

import java.util.Arrays;
import java.util.Scanner;
public class SortString {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.println("Input String Value which should be sorted : ");
String inputString = scanner.nextLine();
char arrayOfCharacters[] = inputString.toCharArray(); // Step 1
Arrays.sort(arrayOfCharacters); // Step 2
String sortedString = new String(arrayOfCharacters); // Step 3
System.out.println("Before Sorting :  " + inputString);
System.out.println("After Sorting :  " + sortedString);
}
}

Sortie :

Trier la chaîne en Java
Trier la chaîne en Java

Limites :

  • Cela est idéalement réalisé par le framework Java en utilisant la valeur ASCII de chaque caractère présent dans la chaîne.
  • Par conséquent, cette technique ne doit être utilisée que si le tri des chaînes requis est sensible à la casse, ce qui signifie que comme la valeur ASCII des caractères majuscules est inférieure aux caractères minuscules, le tri ne serait pas approprié si votre chaîne contient les deux. caractères de casse, c'est-à-dire chaîne mixte.

Exemple :

Trier la chaîne en Java

Sortie :

Trier la chaîne en Java

2. Technique 2 – Utilisation d'un comparateur personnalisé

Cette technique est utilisée principalement lorsque la chaîne d'entrée peut être composée de caractères mixtes avec des minuscules et des majuscules. Ce n’est pas une technique simple comme ci-dessus et nécessite un peu plus de codage. Nous utiliserons la même technique de tri de tableaux fournie par Java, mais nous utiliserons également un comparateur qui nous aidera à comparer chaque caractère de la chaîne.

Pour mettre en œuvre cette technique, vous trouverez ci-dessous les étapes et un exemple de ce type de tri de chaînes en Java.

  • Étape 1 : Obtenez la chaîne d'entrée de l'utilisateur et convertissez la chaîne d'entrée en tableau de caractères à l'aide de la fonction Java for loop.
  • Étape 2 : Appliquez le tri Java à ce tableau de caractères nouvellement créé à l'aide de la méthode Arrays.sort avec un comparateur qui ignorera la casse pendant le tri et celui-ci est présent dans le même pot java.util.Arrays.
  • Étape 3 : Convertissez ce tableau trié de caractères en chaîne à l'aide de la classe Java StringBuilder et il n'est pas nécessaire de stocker la chaîne nouvellement créée dans un objet chaîne car StringBuilder est mutable.

Exemple :

Code :

import java.util.Arrays;
import java.util.Scanner;
import java.util.Comparator;
public class SortString {
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.println("Input a String Value which should be sorted : ");
String inputString = scanner.nextLine();
Character arrayOfCharacters[] = new Character[inputString.length()];
for (int i = 0; i < inputString.length(); i++) {
arrayOfCharacters[i] = inputString.charAt(i); // Step 1
}
Arrays.sort(arrayOfCharacters, new Comparator<Character>(){  // Step 2
@Override
public int compare(Character c1, Character c2)
{
return Character.compare(Character.toLowerCase(c1),
Character.toLowerCase(c2));
}
});
StringBuilder outputString = new StringBuilder(arrayOfCharacters.length);
for (Character c : arrayOfCharacters)
outputString.append(c.charValue());  // Step 3
System.out.println("Before Sorting : " + inputString);
System.out.println("After Sorting considering casing: " + outputString.toString());
}
}

Sortie :

Trier la chaîne en Java

Trier la chaîne en Java

Limites :

  • Cette technique de tri est un moyen idéal d'effectuer un tri en Java où la chaîne d'entrée peut être n'importe quelle valeur avec des caractères majuscules et minuscules.
  • Il n'y a pas de limitations en tant que telles à cette technique de tri mais c'est un code un peu long à implémenter.

3. Technique 3 – Utilisation des fonctionnalités de flux Java 8 avec la méthode Strings.chars

Cette technique est une nouvelle technique avec une ligne de code minimale et utilisant les fonctionnalités Java 8 Stream ainsi que la méthode String.chars qui est fournie en ligne avec Java 8 uniquement. Assurez-vous donc que lorsque vous appliquez cette technique, votre application Java est utilisée principalement lorsque la chaîne d'entrée peut être composée de caractères mixtes avec des minuscules et des majuscules. Ce n’est pas une technique simple comme ci-dessus et nécessite un peu plus de codage. Nous utiliserons la même technique de tri de tableau fournie par Java, mais nous utiliserons également un comparateur qui nous aidera à comparer chaque caractère de la chaîne.

Conclusion

Le tri d'une chaîne en Java est très simple et comporte de nombreuses approches différentes et le développeur peut utiliser n'importe laquelle d'entre elles en fonction des besoins de l'application. Cela varie du code à 2 lignes à l'écriture d'une toute nouvelle méthode de tri et permet également de trier une chaîne en ignorant également la casse.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Tri par insertion en JavaArticle suivant:Tri par insertion en Java